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

  • Floortile83

    Floortile83

    16 Ocak 2010
  • lifeisforsharingDT

    lifeisforsha

    18 Mayıs 2011
  • macpulenta

    macpulenta

    9 EYLÜL 2006