【发布时间】:2012-07-15 09:16:10
【问题描述】:
我的地图上有一组标记,我正在尝试通过 ajax 调用更新它们的位置... ajax 调用工作正常,我可以遍历新值;但是我找不到引用标记的方法(例如通过 ID),因此我可以更新它们的 latLng。
基本上最后我需要.. 1.) 通过唯一 id 获取对标记的引用 2.) 可能循环遍历所有标记
提前谢谢 - 我是新手,需要一点帮助才能开始 - 希望我能在可能的时候传递善意:)
下面的 ajax 代码 - 关于修改标记位置的部分是我不知道该怎么做的部分 - 所以在下面的代码中我只是添加一个新标记,我真的需要更新位置
var json = $.getJSON("json/tracking.php",function(data){
console.log("updated");
$.each(data,function(key,value){
//console.log(value.unit + " " + value.lat + " " + value.lng);
new google.maps.Marker({
map:map,
position: new google.maps.LatLng(value.lat,value.lng),
});
});
})
.success(function(){
//console.log("success");
})
.error(function(){
//console.log("error");
})
.complete(function(){
//console.log("complete");
});
},2000);
【问题讨论】:
-
显示你的代码,对我来说帮助的工作会更少:)
-
编辑了我的帖子 - 也许这会解释它:) 提前感谢 -
-
这些标记是如何创建的?它们是在您发布的
getJSON中创建的吗? JSON 是否包含每个标记的 ID?是的,您需要对每个标记进行单独引用,然后调用markerRef.setPosition(new google.maps.LatLng(value.lat,value.lng));之类的东西。如果这还不够有用,请向我展示更多代码和部分 JSON。 -
我在想我会遍历 - 检查标记是否存在 - 如果存在则更新位置 - 如果不存在则创建它。接下来将摆脱任何不在 json 中的标记。我只是不确定如何在您的示例中获取对标记 (markerRef) 的引用。我在想也许有类似 GetMarkerbyID(id) 之类的东西。