Javascript JQuery和谷歌地图API问题
我目前正在开发一个网络应用程序,每10秒更新一次谷歌地图标记。我从数据库中获取纬度坐标,然后将其加载到如下对象中: 然后我提出ajax请求Javascript JQuery和谷歌地图API问题,javascript,jquery,google-maps,object,google-maps-api-3,Javascript,Jquery,Google Maps,Object,Google Maps Api 3,我目前正在开发一个网络应用程序,每10秒更新一次谷歌地图标记。我从数据库中获取纬度坐标,然后将其加载到如下对象中: 然后我提出ajax请求 var da = JSON.parse(data); 然后循环查看所有结果: $.each(da, function(idx, obj) { var latLng = new google.maps.LatLng(obj.Lat, obj.Longitude); markers[obj] = new google.maps.Marker({posi
var da = JSON.parse(data);
然后循环查看所有结果:
$.each(da, function(idx, obj) {
var latLng = new google.maps.LatLng(obj.Lat, obj.Longitude);
markers[obj] = new google.maps.Marker({position: latLng,map: map});
});
但后来在代码中,我在尝试这样做时遇到了一个问题:
markers[obj].setPosition(latLng);
它没有将标记移动到新位置,我是否遗漏了什么
“markers[]”对象是全局声明的。在每个循环中,
标记[obj]
应该是标记[idx]
在循环之外,改变
标记[obj]。设置位置(latLng)代码>
- 到
markers[idx].setPosition(latLng)代码>
idx
您的代码
$.each(da, function(idx, obj) {
var latLng = new google.maps.LatLng(obj.Lat, obj.Longitude);
markers[obj] = new google.maps.Marker({position: latLng,map: map});
});
建议的更改
$.each(da, function(idx, obj) {
var latLng = new google.maps.LatLng(obj.Lat, obj.Longitude);
markers[idx] = new google.maps.Marker({position: latLng,map: map});
});
请提供一个演示该问题的示例。好的,我已进行了编辑,谢谢。
obj
仅在每个-callbacknice解决方案中已知,以供将来参考:DI通过标记[obj.Lat]对其进行排序,但您的作品也一样,谢谢:)
$.each(da, function(idx, obj) {
var latLng = new google.maps.LatLng(obj.Lat, obj.Longitude);
markers[idx] = new google.maps.Marker({position: latLng,map: map});
});
markers[idx].setPosition(latLng);