![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
google maps - трек по координатам [D7, XP]
gvozdkoff © (2012-01-19 16:27:00)Здравствуйте, нужна помощь специалистов, возник вопрос.
работаю с компонентом TWebBrowser и выполняю со страницы Javaскрипт.
Так вот загвоздка в том что не могу до конца сочинить java скрипт который бы рисовал трек по координатам.
Вот что у меня есть.
//отрывок из сттраницы
const
HTMLStr: AnsiString =
'<html> '+
'<head> '+
' function DrawTrack(LatLng) { '+
//здесь я пытаюсь объявить функцию рисования трека, который строится вобщем то по координатам (чтобы был трек нужно минимум 2 координаты)
' var LatLng = new google.maps.LatLng(Lat,Lang);'+
//LatLng это переменная которая теоретически содержит координаты
Lat - координата северной широты
Lng- координата северной широты
' var Track = new google.maps.Polyline({ '+ //здесь обявляю переменную и даю ей понять что она будет треком (линией) присваиваю какие о параметры
цвет , ширина линии и т.д
' path: LatLng, '+ //здесь указываю откуда брать значения для переменной
' strokeColor: "#FF0000", '+
' strokeOpacity: 1.0, '+
' strokeWeight: 2 '+
' });'+
' Track.setMap(map); '+ вывожу на карту
Так якобы вызываю скрипт
for i:=0 to ListView2.Items.Count -1 do
begin
HTMLWindow2.execScript(Format('DrawTrack(%s)',[ListView2.Selected.Caption+','+ListView2.Selected.SubItems[0]]), 'JavaScript')
Координаты хранят в листитеме
Код заранее не рабочий, не доделан до конца. это чисто рассуждения, не могу понять где неправильно, подскажите пожалуйста
Медвежонок Пятачок (2012-01-19 17:43:00) [21]Совсем ку-ку?
gvozdkoff (2012-01-19 17:41:00) [22]var LatLng = new google.maps.LatLng(Lat,Lang);
var Track = new google.maps.Polyline({
path: LatLng[]
Медвежонок Пятачок (2012-01-19 17:35:00) [23]ну и где здесь массив?
var LatLng = new google.maps.LatLng(Lat,Lang);
var Track = new google.maps.Polyline({
path: LatLng,
Полилайну передана одна единственная точка.
gvozdkoff (2012-01-19 17:31:00) [24]вот полностью получаемая страничка
const
HTMLStr: AnsiString =
' '+
' '+
' '+
' '+
//' '+
' '+
' '+
' var LatLng = [];'+
' function initialize() {'+
' var myLatLng = new google.maps.LatLng(37.772323, -122.214897);'+
' var myOptions = { '+
' zoom: 3, '+
' center: myLatLng, '+
' mapTypeId: google.maps.MapTypeId.TERRAIN '+
' };'+
' '+
' var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); '+
' '+
''+
' function DrawTrack(LatLng) { '+
' var LatLng = new google.maps.LatLng(Lat,Lang);'+
' var Track = new google.maps.Polyline({ '+
' path: LatLng, '+
' strokeColor: "#FF0000", '+
' strokeOpacity: 1.0, '+
' strokeWeight: 2 '+
' });'+
' LatLngArray.push(LatLng); '+
' Track.setMap(map); '+
''+
''+
' } '+
''+' '+
' '+
''+
' '+
' '+
' '+
' '+
' '+
' '+
''+
' '+
' ';
gvozdkoff (2012-01-19 17:29:00) [25]
> Медвежонок Пятачок © (19.01.12 17:27) [5]
> path у полилайна должен быть массивом
Если я правильно понял. то это объявляется так?
' var LatLng = [];'+
Медвежонок Пятачок (2012-01-19 17:27:00) [26]path у полилайна должен быть массивом
gvozdkoff (2012-01-19 17:21:00) [27]
> Медвежонок Пятачок © (19.01.12 16:43) [2]
> А где подключение гуглового api?
' '+
' '+
//' '+
' '+
Медвежонок Пятачок (2012-01-19 16:45:00) [28]Кроме того path должен быть массивом LatLng.
ЗЫ скрипт сначала надо отладить в нормальном браузере.
А не пытаться отладить одно глюкалово (скрипт) внутри другого глюкалова (своей программы)
Медвежонок Пятачок (2012-01-19 16:43:00) [29]А где подключение гуглового api?
gvozdkoff (2012-01-19 16:40:00) [30]возможно Java код и рабочий, хромает реализация выдирания из листитема координат для переменной