Javascript JQuery和谷歌地图API问题

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

我目前正在开发一个网络应用程序,每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({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);