0

私は gmaps.js を使用しており、地図上にいくつかのマーカーを作成し、地理位置情報を使用して地図上の自分の場所を見つけました。これまでのところ、私が抱えている唯一の問題は、最も近いマーカーを見つけることです私がいる場所からそのマーカーまでの経路線を引くこともできます

私がこれまでに持っているコード:

var map;
map = new GMaps({
    div: '#map_canvas',
    lat: 36.111114,
    lng: -104.88118,
    zoom: 16,
    zoomControl: 0,
    streetViewControl: 0,
    mapTypeControl: 0,
    panControl: 0
});
map.addMarker({
    lat: 36.072967,
    lng: -105.007866,
    title: 'Marker 1'
});
map.addMarker({
    lat: 36.072967,
    lng: -105.007866,
    title: 'Marker 2'
});
map.addMarker({
    lat: 36.160746,
    lng: -104.908646,
    title: 'Marker 3'
});
GMaps.geolocate({
    success: function(position) {
        map.setCenter(position.coords.latitude, position.coords.longitude);
        map.addMarker({
            lat: position.coords.latitude,
            lng: position.coords.longitude,
            title: 'Your Location'
        });
    },
    error: function(error) {
        alert('Geolocation failed: '+error.message);
    },
    not_supported: function() {
        alert("Sorry, your device does not support geolocation.");
    },
    always: function() {
        alert("Done!");
    }
});

どんな助けでも大歓迎です。:)

4

1 に答える 1

0

すべてのマーカーと現在地の間の距離を計算し、距離が最も短いポイントを選択する必要があります。このページを見てください。JSのサンプルコードで2つの緯度点間の距離を計算する方法の説明があります。それはあなたの問題を解決するのに十分なはずです

于 2013-07-09T08:41:53.863 に答える