gpt4 book ai didi

javascript - JQuery 和 Google map API 问题

转载 作者:行者123 更新时间:2023-12-02 16:38:54 25 4
gpt4 key购买 nike

我目前正在开发一个网络应用程序,该应用程序每 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[]”对象是全局声明的。

最佳答案

在每个循环内,markers[obj] 应该是 markers[idx]

在循环之外,改变

  • 标记[obj].setPosition(latLng);
  • 标记[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});
});

......

markers[obj].setPosition(latLng);

建议更改

$.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);

关于javascript - JQuery 和 Google map API 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com