当我搜索带有邮政编码的位置时,我将googlemap与邮政编码对齐,然后添加标记。当我进行新搜索时,我会删除旧标记。
$('body').on('blur', '#CodePostalA', function(){
var zipcode = $('#CodePostalA').val();
var $this = $(this);
var geocoder = new google.maps.Geocoder;
geocoder.geocode({'address': zipcode}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.setZoom(20);
}
if ($('#adresse').length > 0) {
newMarker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
icon: new google.maps.MarkerImage(
'images/marker-new.png',
null,
null,
null,
new google.maps.Size(36, 36)
),
draggable: true,
animation: google.maps.Animation.DROP,
});
google.maps.event.addListener(newMarker, "mouseup", function(event) {
var latitude = this.position.lat();
var longitude = this.position.lng();
geocoder.geocode({'location': this.position}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (results[1]) {
$('#adresse').val(results[0].formatted_address);
} else {
console.log('Aucun résulat trouvé');
}
} else {
console.log('Echec géolocation: ' + status);
}
});
});
}
});
});
addMarkers(props, map);
}, 300);
答案 0 :(得分:0)
使用变量跟踪您的标记,当需要删除它时,请使用marker.setMap(null)
将其从地图中删除。
删除所有引用后,旧的标记对象将在后台进行垃圾回收。
您还可以考虑重复使用标记对象,而不是每次都使用新标记对象。