私はJavascriptとGoogleマップAPIが初めてで、このリンクをたどってマーカーを削除しましたが、どうすればそれを機能させることができません。
基本的に、ユーザーがアドレスを入力してボタンをクリックすると、ボタンを使用してマーカーを生成したいと考えています。ユーザーが新しい住所を入力してボタンをもう一度クリックすると、古いマーカーが削除され、新しいマーカーが新しい住所に固定されます。マーカーもドラッグ可能です。
ここに私の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);
}
});
}
更新 検査要素を確認すると、次のエラーが表示されました。
キャッチされていない TypeError: 未定義のメソッド 'setMap' を呼び出せません