Клуб API Карт

10 комментариев

У вас в самой песочнице не работает?

или не работает скопированный из нее код?

И в самой песочнице и скопированный.

В 2.0. всё работает.

в каком браузере?

Google Chrome (Версия 34.0.1847.132) под Ubuntu 12.04

Всеволод Шмыров
28 января 2016, 00:13
Доброе утро.
В примере ошибка (defaultOptions -> defaultMapOptions). Мы поправим пример. Спасибо за сообщение.

defaultMapOptions используются, если данные о местоположении не были получены.
Такое сейчас происходит редко: если данные невозможно получить от браузера, то они вычисляются по ip. Это поведение можно отключить опцией "provider" (значение по умолчанию auto).
http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/geolocation.xml
В случае получения местоположения, определяется наилучший масштаб карты для отображения точки.

Для достижения своей цели сделал немного по другому, получил следующее:

ymaps.ready(init);

function init() {

    var geolocation = ymaps.geolocation,

        myMap = new ymaps.Map('map', {

            center: [55, 34],

            zoom: 14

        });

    geolocation.get({

        provider: 'auto',

        mapStateAutoApply: false

    }).then(function (result) {

        result.geoObjects.options.set('preset', 'islands#redCircleIcon');

        myMap.geoObjects.add(result.geoObjects);

    });

    var actualProvider = new ymaps.traffic.provider.Actual({}, { infoLayerShown: true });

    actualProvider.setMap(myMap);

}

 

Я запретил ему автоматически маштабировать. В таком случае он берет center из заданных данных.

А как сделать, чтобы center был мое местоположение?

Всеволод Шмыров
28 января 2016, 00:13

map.setCenter( result.geoObjects.get(0).geometry.getCoordinates() );

Благодарю!

а я пытаюсь по "браузеру" определить, не хочет, в песочнице работает, а в локальном файле нет
Amon Rama,
http://www.w3schools.com/html/html5_geolocation.asp


Note: As of Chrome 50, the Geolocation API will only work on secure contexts such as HTTPS. If your site is hosted on an non-secure origin (such as HTTP) the requests to get the users location will no longer function.