ユーザーがボタンを押したときにマップからすべてのマーカーを削除しようとしていますが、これは非常に単純なはずなので、かなりばかげたものを見逃している可能性があります。
それらをすべて格納するグローバル配列があります。
var markersArray = [];
次に、すべてのマーカーをマップに追加し、それらを配列にプッシュします。
var marker = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(lat, lng),
title: description,
icon: image,
shadow: shadow,
shape: shape
});
markersArray.push(marker);
最後に、配列からすべてのマーカーを削除する必要がある関数を宣言しました。
google.maps.Map.prototype.deleteOverlays = function() {
if (markersArray.length) {
var i;
for (i in markersArray) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
}
しかし、これはまったく機能せず、何時間もいじった後、完全に失われました。どこが間違っていますか?
お時間をいただきありがとうございます:)