我在使用谷歌地图 API结合标记管理器和地图标签时遇到问题。
当我将标签绑定到标记的地图并定位时,一切都按预期工作。当我移动标记时,标签会移动,当我从地图上移除标记时,标签也会被移除。当我将标记添加到标记管理器时,就会出现问题。似乎所有绑定都已损坏,因此我的标签不再随标记移动,并且在删除标记后标签仍保留在地图上。
这是一个显示问题的 JS 小提琴:http: //jsfiddle.net/d6Su5/
您将看到第一个标记(不在管理器中)可以与其标签一起移动,但第二个标记将标签留在后面。
代码:
var map;
var mgr;
var elevator;
var myOptions = {
zoom: 6,
center: new google.maps.LatLng(46.87916, -3.32910),
mapTypeId: 'terrain'
};
map = new google.maps.Map(document.getElementById('map'), myOptions);
mgr = new MarkerManager(map);
var marker = new google.maps.Marker({
title: 'No manager',
position: new google.maps.LatLng(46.87916, -3.32910),
map: map,
draggable: true
});
var mapLabel = new MapLabel({
text: 'No manager'
});
mapLabel.bindTo('position', marker);
mapLabel.bindTo('map', marker);
var marker2 = new google.maps.Marker({
title: 'With manager',
position: new google.maps.LatLng(44.87916, -3.32910),
map: map,
draggable: true
});
var mapLabel2 = new MapLabel({
text: 'With manager'
});
mapLabel2.bindTo('map', marker2);
mapLabel2.bindTo('position', marker2);
google.maps.event.addListenerOnce(map, 'idle', function() {
mgr.addMarker(marker2, 1);
});
我错过了什么?