SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • katherine gomez

    katherine go

    1 Aralık 2011