Я получаю расположение от широты и долготы заданного:Google геокодер возвращается другую широту и долготу из значений запроса
getLocationFromCoords(lat, lng) {
var geocoder = new google.maps.Geocoder();
var latLng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
geocoder.geocode({
'latLng': latLng
}, function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (typeof results[0].geometry.location != 'undefined') {
console.log(lat, lng);
console.log(results[0].geometry.location.lat(), results[0].geometry.location.lng());
// set the location
} else {
//...
}
});
});
}
Проблема состоит в том, что широта и долгота от results[0].geometry.location
отличаются от значений запрос. Приведенный выше код отображается в консоли:
38,9067339 1,4205983
38,9069681 1,4205133000000387
Так я пропускаю что-нибудь? Почему не те же ценности?
То, что вы пытаетесь сделать? LatLong для адреса или адреса для LatLong? –
@ TuğcaEker - LatLong для адреса (который также содержит lat и long). – Manolo
Хорошо. Вы используете ** Обратное геокодирование ** для преобразования координат в адрес. Вы не можете получить то же самое GeoLocation, потому что Google возвращает вам ближайшую запись. Как проверка i, есть только 20-30 метров между ожиданием и результатом. Не беспокойтесь, это нормально. –