我是新來的Javascript和谷歌地圖API,我一直在關注這個link刪除標記,但一些我不能使它工作。Google map api v3 - 在做地理編碼時刪除舊標記
基本上我想用一個按鈕來產生標記,當用戶輸入一個地址並點擊按鈕。當用戶輸入一個新地址並再次點擊該按鈕時,舊標記將被刪除,新標記將被插入新地址。標記也可拖動。
這裏是我的js代碼:
$('#geocode').live('click',function() {
codeAddress();
return false;
});
function codeAddress() {
var address = document.getElementById('location').value;
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
if (marker) marker.setMap(null);
if (marker) delete marker;
var marker = new google.maps.Marker({
draggable:true,
map: map,
position: results[0].geometry.location
});
var newlat = results[0].geometry.location.lat();
var newlng = results[0].geometry.location.lng();
document.getElementById('mwqsflatlng').value = (newlat+' , '+newlng);
draggeablemarker(marker);
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
更新 當我檢查檢查元素,它給了我這個錯誤:
Uncaught TypeError: Cannot call method 'setMap' of undefined
太棒了!它正在工作。非常感謝。 –