30 EKİM 2010, CUMARTESİ
Google Maps v3 - bul-en yakın işaretleri Apı
Ben harita üzerine tıklayın, en yakın işareti veya işaretleri bulmak için bir yolu olacak mı? bana bu konuda yardımcı olacak bir apı bazı fonksiyonlar var mı?
google map apı v3.
CEVAP
30 EKİM 2010, CUMARTESİ
İlk eventlistener eklemek zorunda
google.maps.event.addListener(map, 'click', find_closest_marker);
Sonra işaretleri bir dizi aracılığıyla döngüler bir işlev oluşturun ve haversine formula > Her bir gösterge olan uzaklığını hesaplamak için kullanır.
function rad(x) {return x*Math.PI/180;}
function find_closest_marker( event ) {
var lat = event.latLng.lat();
var lng = event.latLng.lng();
var R = 6371; // radius of earth in km
var distances = [];
var closest = -1;
for( i=0;i<map.markers.length; i ) {
var mlat = map.markers[i].position.lat();
var mlng = map.markers[i].position.lng();
var dLat = rad(mlat - lat);
var dLong = rad(mlng - lng);
var a = Math.sin(dLat/2) * Math.sin(dLat/2)
Math.cos(rad(lat)) * Math.cos(rad(lat)) * Math.sin(dLong/2) * Math.sin(dLong/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
distances[i] = d;
if ( closest == -1 || d < distances[closest] ) {
closest = i;
}
}
alert(map.markers[closest].title);
}
Bu en yakın işaretleri takip eder ve onun adı uyarır.
Haritama bir dizi nesne olarak işaretlerim var
Bunu Paylaş:
Tüm işaretleri kaldırmak için Nasıl?Go...
Nasıl Google Maps numaralı harita işar...
Google maps tam olarak aynı noktada V3...
Google Maps API v3: otomatik-merkezi ç...
Yakın Google Maps API v3 tüm infowindo...