Клуб API Карт

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

regfre
12 августа 2016, 00:52

Здравствуйте! Не удается определить геолокацию по ip используя ymaps.geolocation

Карта работает.

jQuery.getScript('http://api-maps.yandex.ru/2.1-dev/?lang=ru-RU&load=package.full', function()
{
ymaps.ready(function()	
{
...
}
}
)

После этого пробую ymaps.geolocation - возвращает пустой обьект {}

Пробую ymap.geolocation.get() - выводит сообщение:

getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

Я так понимаю это связано с тем что сайт на http и браузер запрещает. Можно ли это обойти?

4 комментария
Подписаться на комментарии к посту
Для определения тольк по IP нужно указать опцию provider: "yandex'. Так же лучше отключить автогеокодирование. 
Для определения геолокации через браузер сайт должен работать по https. Это нельзя обойти
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/geolocation-docpage/
dimik,
получилось через ymaps.geolocation.get({provider: 'yandex'}), спасибо! но почему не получается сразу определить как в примерах https://tech.yandex.ru/maps/jsbox/2.0/geolocation_ip
Там сразу координаты в ymaps.geolocation
regfre,
Это старая версия 2.0
В новой получать координаты можно так
ymaps.geolocation.get({provider: 'yandex'})

.then(function (res) {
  return res.geoObjects.get(0).geometry.getCoordinates()
})
.then(function(coords) {
  console.log(coords);
})