谷歌地图javascript api更新标记

谷歌地图javascript api更新标记,javascript,html,vb.net,visual-studio,google-maps,Javascript,Html,Vb.net,Visual Studio,Google Maps,我正在使用GoogleMapsAPI编写javascript,我用VB编写代码 我使用vb代码从MySQL数据库中获取每个标记的位置,并将它们放在我的谷歌地图上 但我想在更新数据库数据时更新地图上标记的位置,而不刷新网页 我该怎么做? 谢谢 @代码 Dim conn作为新的MySql.Data.MySqlClient.MySqlConnectionSERVER=localhost;数据库=mydb;用户=根用户;密码=通过 如果连接状态=False,则 康涅狄格州公开赛 如果结束 Dim co

我正在使用GoogleMapsAPI编写javascript,我用VB编写代码

我使用vb代码从MySQL数据库中获取每个标记的位置,并将它们放在我的谷歌地图上 但我想在更新数据库数据时更新地图上标记的位置,而不刷新网页 我该怎么做? 谢谢

@代码 Dim conn作为新的MySql.Data.MySqlClient.MySqlConnectionSERVER=localhost;数据库=mydb;用户=根用户;密码=通过 如果连接状态=False,则 康涅狄格州公开赛 如果结束 Dim comm As New MySql.Data.MySqlClient.MySqlCommandSelect`Driver ID`,DriverLat,DriverLng From DriverDetails,conn Dim读取器为MySql.Data.MySqlClient.MySqlDataReader=comm.ExecuteReader Dim dt作为新的Data.DataTable Dim DriverLat作为整数的新列表 Dim DriverLng作为整数的新列表 Dim DriverID作为整数的新列表 装载阅读器 对于i=0到dt.Rows.Count-1 DriverID.AddCIntdt.Rowsi0 DriverLat.AddCIntdt.Rowsi1 DriverLng.AddCIntdt.Rowsi2 下一个 MsgBoxDriverID0 MsgBoxDriverLat0 MsgBoxDriverLng0 “它给了我一个所有司机ID、司机LNG和司机LAT的列表,所以我必须使用它们 '在我的标记地图中,标记的标题将是DRIVERS ID' 结束代码 简单地图 /*始终明确设置贴图高度以定义div的大小 *包含映射的元素*/ 地图{ 高度:1000px; 宽度:1000px; } /*可选:使示例页面填充窗口*/ html,正文{ 身高:100%; 保证金:0; 填充:0; } 函数初始化映射{ var map=new google.maps.map document.getElementById'map'{ 中心:{lat:12.13,lng:12.13}, 缩放:1 }; 4.6.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6.584 vv4 4 4 4 4 4 4 4 4 4 4 4 v34.804c0 0 0 0 0,3.11 6 6 6 6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7,3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2.219,8.51H4.638l-2.222-8.51C2.417,10.773,11.3,7.755,20.625,10.773z M3.748,21.713v4.492l-2.73-0.349V14.502L3.748,21.713ZM1.018,37.938V27.579l2.73,0.343v8.196L1.018,37.938ZM2.575,40.882l2.218-3.336h13.771l2.219,3.336H2.575ZM19.328,35.805v-7.872l2.729-0.355v10.048L19.328,35.805z; var Caricon={ 路径:汽车, 比例:1, strokeColor:'白色', 冲程重量:.10, 不透明度:1, fillColor:'ffffffff' }; @对于DriverID.Count-1,i=0 @:var@CStrmarker&i=new google.maps.Marker{ @:位置:{lat:@CIntDriverLat.Item i,lng:@CIntDriverLng.Itemi}, @:icon:Caricon, @:map:map, @:animation:google.maps.animation.DROP @:}; 接下来我 }
我认为这个解决方案会对你有所帮助

最重要的是,您应该保留一个具有唯一标识符的标记数组。在我的例子中,我使用它作为Id。因此创建地图将如下所示

var myMarkers=新数组; 用于标记中的索引{ myMarker[markers[index]['id']=addMarkermap,markers[index]; } 函数addMarkermap,数据{ //创建标记 var marker=new google.maps.marker{ 位置:新google.maps.LatLngdata.lat,data.lng, 地图:地图, 标题:data.id, 图标:图像, 形状:形状, 影子:影子 }; //创建信息窗口 var content=document.createElementDIV; var title=document.createElementDIV; title.innerHTML=data.id; 内容、名称; var infowindow=new google.maps.infowindow{ 内容:内容 }; //单击打开信息窗口 google.maps.event.addListenermarker,单击,函数{ infowindow.openmap,标记; }; 返回标记;
}如果需要更新现有标记,则必须将它们存储在某个javascript数组中,并在知道位置已更改时进行更新或删除/添加。我希望更新代码作为同一页面中的一些Ajax调用。