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

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008