Клуб API Карт

Не работает ymaps.geolocation.get

isprite0001
14 апреля, 14:55

ymaps.geolocation.get({provider:'yandex',mapStateAutoApply:true}).then(function (res) {alert('a');}); - ничего не происходит (ни алерта, ни ошибки). Если сделать ymaps.geolocation.get().then(function (res) {alert('a');}); ругается на https. Меня интересует, почему не работает первый вариант (с провайдером яндекса).

12 комментариев
Подписаться на комментарии к посту
Добрый день, пример на http://jsfiddle.net/ndroft9n/ работает. В каком браузере и OS  он у вас не работает?
Скрипт по вашей ссылке при нажатии Run не выдаёт алерта. Пробовал в Chrome, FireFox, IE11
PS: OS Win7
Следующая страница ничего не выдаёт:

<html>
<head>
<script type="text/javascript" src="https://api-maps.yandex.ru/2.1/?lang=ru_RU"></script>
</head>
<script>
ymaps.ready(init);
function init () {
ymaps.geolocation.get({provider:'yandex',mapStateAutoApply:true}).then(function (res) {alert('a');});
}
</script>
<body>
<div id="map"></div>
</body>
</html>
Если для локального файла
ymaps.geolocation.get({provider:'yandex',mapStateAutoApply:true}).then(function (res) {alert('a');});
заменить на
ymaps.geolocation.get({provider:'browser',mapStateAutoApply:true}).then(function (res) {alert('a');});
то алерт работает.
isprite0001,
Добрый день, подскажите пожалуйста какой у вас ip-адрес. Адреса можно взять отсюда http://yandex.ru/internet поля IPv4-адрес и IPv6-адрес
серёга,
IPv4-адрес: 178.72.69.37
IPv6-адрес: не определен
Второй адрес, где тестировал и та же самая проблема:
IPv4-адрес: 83.143.192.41
IPv6-адрес: не определен
isprite0001,
Определяет ли ваш Регион по IP-адресу и Регион http://yandex.ru/internet ?
серёга,
Да. И там и там определяет.
IPv4-адрес: 178.72.69.37
IPv6-адрес: не определен
Регион по IP-адресу: Тюмень
Регион: Тюмень
Регион в Яндекс.Паспорте: не определен
Входящее соединение: скорость не измерена
Исходящее соединение: скорость не измерена
Браузер: Firefox 52.0 (Gecko 52.0)
Операционная система: Windows 7
Обновлено 15 апреля, 15:08
isprite0001,
Тогда можно добавить  error-callback и посмотреть что выводится в консоль http://jsfiddle.net/dfohs00k/


Скорее всего поможет отключение autoReverseGeocode http://jsfiddle.net/kL4p0gku/
серёга,
у меня сейчас заработал ваш пример http://jsfiddle.net/dfohs00k/. Попробовал запустить первый пример http://jsfiddle.net/ndroft9n/ - тоже работает.
Но вот на втором компьютере (83.143.192.41) так и не заработало. В логе Not Found.
Регион по IP-адресу: Россия
Регион: Москва
Регион в Яндекс.Паспорте: не определен


Судя по всему проблема на стороне Яндекса. Точнее даже не проблема, а какая-то причина, по которой они не могут определить местоположение. То есть скрипт написан и работает корректно. Спасибо за помощь.
Обновлено 15 апреля, 20:27
серёга,
на радостях не проверил autoReverseGeocode. С ним работает и там и там. Но координаты не возвращает.