gpt4 book ai didi

jquery-mobile - 使用 gmap v3 插件的 Jquery mobile - REFRESH MARKERS

转载 作者:行者123 更新时间:2023-12-04 05:56:14 25 4
gpt4 key购买 nike

我有 jquery 移动站点,尝试添加带有动态标记的 gmap (v3):

 bindMap: function () {

var markers = mapArray; //global var with coordinates

$('#mapContent').gmap({ 'callback': function () {
var self = this;
$.each(markers, function (i, m) {
if (markers[i][0] && markers[i][1]) {

self.addMarker({ 'position': new google.maps.LatLng(markers[i][0], markers[i][1]), 'bounds': true }).click(function () {
self.openInfoWindow({ 'content': markers[i][2] }, this);
});
}
});
}
});

}

它为我加载了一张带有标记的 map ,但是一旦我更改了标记并返回到相同的代码以显示该 map ,它就会跳过回调函数并且不会使用新标记呈现新 map 。我试着打电话 $('#mapContent').gmap('refresh')之前或 $('#mapContent').gmap('clear', 'markers') , 仍然不显示新的标记..

最佳答案

我不太确定你的意思是“回到相同的代码”,但你不能重用相同的 map 对象。

我会有一个创建 map 的方法和一个添加/刷新标记的方法

function addMarkers(markers, clearOld) {

if(clearOld) $('#mapContent').gmap('clear', 'markers');

$.each(markers, function(i, m) {
$('#mapContent').gmap('addMarker', {
'position': new google.maps.LatLng(m.lat, m.lng),
'bounds':true,
'id' : m.id,
'icon' : 'img/marker.png'
},function(map,marker) {
$(marker).click(function(){
//do something
});
});
});

}

因此,当您想向 map 添加新标记时,只需重用 map 并调用 addMarkers

关于jquery-mobile - 使用 gmap v3 插件的 Jquery mobile - REFRESH MARKERS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486029/

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