次のように初期化されたmarkerを削除しようとしています。
marker = new google.maps.Marker({
position: latLng,
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
title: 'Marker 1',
icon: redPin
});
google.maps.event.addListener(marker, "click", function() {
showMarkerDialog(marker.position, "marker");
});
google.maps.event.addListener(marker, "dblclick", function() {
// Add a alert: Are you sure you want to remove this marker?
map.removeOverlay(marker);
});
エラーコンソールで取得したものを削除するためにダブルクリックすると、次のようになることを除いて、すべてが完全に機能します。
TypeError:オブジェクト#にはメソッド 'removeOverlay'がありません
私は何を間違えていますか?
mapオブジェクトにはremoveOverlay関数はありません。マーカーが1つしかないように聞こえますが、なぜアレイを使用するのですか?これを変更するだけです:
google.maps.event.addListener(marker, "dblclick", function() {
map.removeOverlay(marker);
});
これに:
marker.addListener("dblclick", function() {
marker.setMap(null);
});