Хочу видеть вывод координат, но в консоли:
test.php:63 Uncaught ReferenceError: result is not defined |
Цитата:
Google Maps JavaScript API error: RefererNotAllowedMapError У вас есть платный аккаунт в Google Maps, Этот IP к нему привязан? |
Цитата:
addressToCoords('Rome, Italy').then (coords => alert(coords)); alert(result); Я писал просто addressToCoords('Rome, Italy').then (coords => alert(coords)); Координаты должны быть в coords. Если сам Google Maps у вас нормально работает. |
Пробовал и как вы написали, и с дополнительным алертом в конце - все равно координаты не выводит никоим образом. Ограничения гугловые айпишные убрал временно.
Ваш вариант: http://95.174.111.242:8091/maptest/test2.php Вариант с добавочным алертом в конце: http://95.174.111.242:8091/maptest/test.php |
|
В geocode должна передаваться не просто строка с адресом, а объект
https://developers.google.com/maps/d...rence/geocoder https://developers.google.com/maps/d...eocoderRequest Вот тут они показывают пример https://developers.google.com/maps/d...ript/geocoding geocoder.geocode( { 'address': address}, function(results, status) { if (status == 'OK') { Попробуйте вызывать addressToCoords({address:'Rome, Italy'}).then (coords => alert(coords)) |
В итоге попробовал вот такой вариант:
addressToCoords({address:'Rome, Italy'}).then (coords => alert(coords[0].geometry.location)) и получил необходимые координаты в алерте. Но проблема осталась в их использовании далее - если сразу после данной строки я добавлю, к примеру: alert(coords[0].geometry.location); то при запуске страницы у меня сначала будет выводиться этот алерт (разумеется, undefined, ведь addressToCoords еще не успела сработать), а только потом будет срабатывать уже addressToCoords() со своим алертом (уже с координатами). Как теперь добавить код, который будет использовать полученные координаты, чтобы он срабатывал только ПОСЛЕ того, как отработает addressToCoords() ? Не запихивая его внутрь самой addressToCoords() или в .then() |
mav1, ты бы уже десять раз успел прочитать учебник если бы в стену головой не долбился.
Асинхронные функции работают только с асинхронными, синхронные с синхронными. Всё. Совместить - никак. 1. Ты делаешь асинхронный запрос к геокодеру. 2. Ты ничего не ждёшь, а сразу делаешь alert. 3. Идёт время. 4. Приходит ответ геокодера. Почему же alert ничего не показал, а? Что и как делать - расписано в учебнике, конкретное решение проблемы также предложено в этой теме. Ты хочешь готовый код и не хочешь думать? Ну извини, попробуй поставить задачу на фрилансе. |
запихал все в .then() и обрел дзен. Работает, и ладно. Не очень чтоб накладно
|
Цитата:
|
Часовой пояс GMT +3, время: 22:47. |