listing_id, lat, lng
を使用して値を持つ AJAX データを受け取る Web ページがあります$.getJSON
。コールバック関数は、これらの一連の値を受け取り、 のセットごとに Google マップ マーカーを作成しますlisting_id, lat, lng
。次に、マーカーが配列にプッシュされ、そのマーカーが配列にプッシュさmarkers
れlisting_id
ますmarkersListingId
。
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
position: latLng,
icon: base_url + 'images/template/markers/listing.png',
});
markers.push(marker);
markersListingId.push(json[i].listing_id);
問題:特定の に対応する特定のマーカーを選択したい場合、特にマーカーが削除されて配列listing_id
に追加される複雑な状況で問題が発生します。markers
配列内のすべてのマーカーの ID をmarkersListingId
ループし、ループのインデックスi
を使用して配列内のマーカーを取得するfor ループを作成できますmarkers
が、これにより追跡が非常に難しくなります。
var id_to_select = 1234;
for(var i = 0; i < markersListingId; i++) {
if(markersListingId[i] == id_to_select) {
markers[i].setMap(null);
}
}
質問:を使用して特定のマーカーを簡単に選択できるように、マーカーを保存するにはどうすればよいlisting_id
ですか?