我正在使用谷歌地图api v3,并希望在JS中使用循环制作标记,同时在Db上显示infowindow上的数据。我想在地图上制作标记,因为我在DB中添加行。 这项工作我已经完成了这是下面但是我无法击败我的目标。
<% Dim con As New OleDbConnection
con = New OleDbConnection("Data Source=sml; User ID=sml; Password=sml; provider=OraOLEDB.Oracle")
con.Open()
Dim cmd As OleDbCommand = New OleDbCommand("Select STA_NAME, GPS_ONE from GPS", con)
Dim ds As New DataSet
Dim I As Long
Dim da As New OleDbDataAdapter(cmd)
da.Fill(ds, "GPS")
For I = 0 To ds.Tables("GPS").Rows.Count - 1
Dim GPS As String = ds.Tables("GPS").Rows(I).Item("GPS_ONE")
Next
%>
在地图函数中使用JS代码制作标记
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var infowindow = new google.maps.InfoWindow();
var GPS='<%=GPS %>'
var Infowindow=GPS
var image = 'ico/Ch.png';
var LatLng = new google.maps.LatLng(GPS);
var marker0 = new google.maps.Marker({
draggable: true,
position: LatLng,
map: map,
icon:image,
title:""
});
google.maps.event.addListener(marker0, 'click', function() {
infowindow.setContent(Infowindow);
infowindow.open(map,marker0);
});
通过这段代码,我甚至可以制作一个标记。我想在地图上创建标记,因为我在数据库列中添加GPS
答案 0 :(得分:0)
google.maps.LatLng需要两个参数。您正在使用一个: GPS 。既然您没有说明 GPS 的价值,那么这应该可以让您入门。
取代:
var GPS='<%=GPS %>'
使用:
var GPS = '<%=GPS %>'.replace(/ /g, '').split(',');
取代:
var LatLng = new google.maps.LatLng(GPS);
使用:
var LatLng = new google.maps.LatLng(GPS[0], GPS[1]);