2014-07-26 2 views
0

я использую карты Google для хранения некоторых мест координат в моей базе данных с помощью маркеров перетаскиваниякарта Google будет выдавать неточные координаты в коротком диапазоне

вот как я это сделать:

на апи:

 google.maps.event.addListener(marker_0, "dragend", function(event) { 
      updatePosition(event); 
     }); 

здесь функция

function updatePosition(evt){ 

    console.log(evt.latLng.lat().toFixed(3)+' # '+evt.latLng.lng().toFixed(3)); 

    var lt = evt.latLng.lat().toFixed(3) ; 
    var lg = evt.latLng.lng().toFixed(3) ; 

    // posting to database 

    } 

он работает почти нормально, но это очень неточно в тесном диапазоне

первая картина, как вы можете увидеть выход будет 40.714 # -74.009

enter image description here

второе изображение .. на другой стороне улицы также будет выводить 40.714 # -74.009

enter image description here

Мне нужно пройти весь путь здесь, чтобы увидеть это изменение

enter image description here

так, если я загрузить карту с помощью 40.714 , -74.009 пытается показать spa он может показать bus stop или hairstyle через улицу!

В любом случае, чтобы получить точное местоположение даже для короткого расстояния?

ответ

1

3 десятичных знака соответствует приблизительно 100 м. See. Для вашей цели вам понадобятся 6 знаков после запятой.

function updatePosition(evt){ 

    console.log(evt.latLng.lat().toFixed(6)+' # '+evt.latLng.lng().toFixed(6)); 

    var lt = evt.latLng.lat().toFixed(6) ; 
    var lg = evt.latLng.lng().toFixed(6) ; 

    // posting to database 

    } 
Смежные вопросы