Всем привет, задача- отобразить трек на google map по координатам, координаты хранятся в листитеме, широта и долгота в 2-ух разных столбцах.
Что есть:
в компонент TWebBrowser, подгружается статическая html страница
Код:
WebBrowser1.Navigate('85.143.50.133/gps/g-m.html');
if Assigned(WebBrowser1.Document) then
HTMLWindow2 := (WebBrowser1.Document as IHTMLDocument2).parentWindow;
А вот и сам код страницы
Код HTML:
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(0, -180);
var myOptions = {
zoom: 3,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var geo_path = new Array();
var geo_path = [
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892)
];
var Track = new google.maps.Polyline({
path: geo_path,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
Track.setMap(map);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
</html>
Скрипт работает, трек виден.
А теперь реализация на Delphi , как добавить координаты из листитема, широта и долгота хранятся в 2-ух разных столбцах.
пробовал так
Код HTML:
for i:=0 to ListView2.Items.Count -1 do
HTMLWindow2.execScript(Format('geo_path =[new google.maps.LatLng(%s,%s)])',[ListView2.Selected.Caption+','+ListView2.Selected.SubItems[0]]), 'JavaScript');
--не работает