listing_id, lat, lng
の$.getJSON
を使用してAJAXデータを受け取るWebページがあります。コールバック関数はこれら一連の値をとり、listing_id, lat, lng
の各セットのGoogleマップマーカーを作成します。次いで、マーカーはアレイmarkers
およびそのlisting_id
に配列markersListingId
にプッシュされます。Googleマップマーカーを保存してから特定のマーカーを選択する
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);
問題:私は特にマーカーが削除され、markers
配列に追加されていると、より複雑な状況では、特定のlisting_id
に対応する特定のマーカーを選択するときに問題が発生し。
私はループがmarkers
配列内のマーカーを取得するために、ループのインデックスi
を使用して、その後markersListingId
アレイ内のすべてのマーカーのidをループするために持つことができますが、これは非常にトリッキーな追跡を行います。
var id_to_select = 1234;
for(var i = 0; i < markersListingId; i++) {
if(markersListingId[i] == id_to_select) {
markers[i].setMap(null);
}
}
質問:私は簡単にそのlisting_id
を使用して、特定のマーカーを選択することができるようにがどのようにマーカーを保存することができますか?