Карты Google показывают неправильное местоположение при вводе - PullRequest
0 голосов
/ 07 июня 2018

Я использую Google Maps API, и он становится длиннее через скрытое текстовое поле.Сегодня он действует странно, он показывает неправильное местоположение на карте, но если я пишу lat long вручную для переменной lat и long, он работает хорошо.

Html:

<input type="hidden" name="ads-lat" id="ads-lat" value="35.68969456776873">
<input type="hidden" name="ads-long" id="ads-long" value="51.46769173739062">

Не работает:

var long = document.getElementById("ads-long").value;
var lat = document.getElementById("ads-lat").value;

Не работает

Работает хорошо:

var long = 51.46769173739062;
var lat = 35.68969456776873;

Работает

Код Google:

map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: +lat,
lng: +long
},
zoom: 15,
streetViewControl: false,
styles : styles, 
fullscreenControl: true
});

Понятия не имею, почему он работает так, в консоли нет ошибки, также я проверил два разных браузера, это не кеш.Как видите, это работает, когда я пишу lat и long вручную, это своего рода число / десятичное число, верно?при условии, что он получит значение из ввода в виде строки, но я пишу знак плюс + перед переменной, повторяю, нет ошибки в not a number от Google.Есть идеи?

JSFiddle

Это показывают где-то в России (я думаю), но это неправильно, это должно показать где-то в Иране, Вы можетепроверьте lat long на этом веб-сайте.

1 Ответ

0 голосов
/ 07 июня 2018

Как это?

http://jsfiddle.net/f09bteov/19/

Я сделал две вещи: 1) Изменил parseInt на parseFloat (вы получали широту / долготу 35,51 ...~ 170 км на градус, так что немного не в порядке), 2) Исправьте их порядок и 3) Убрали + в ваших lat: +lat, lng: +long декларациях.Не уверен, почему они были там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...