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

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • manadude21

    manadude21

    11 Mart 2008
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012