Клуб API Карт

Определение местоположения API 2.1 beta

Дмитрий Заерко
9 января 2014, 10:04

Коллеги, помогите разобраться с определением местоположения.

В новом API есть класс geolocationControl, но я хочу использовать что то типо ymaps.geolocation.latitude и т.д. как в старом API. В java не особо силен, в свое время не придал значения данному языку. В общем вопрос как получить местоположение в новом API без использования кнопульки определения местоположения. В песочнице все работает замечательно а на локальном файле нет.

8 комментариев
Подписаться на комментарии к посту

в локальном файле надо явно указать протокол (http:)

Дмитрий Заерко
9 января 2014, 10:32

ну это я и так сделал.
Вопрос в том что я хочу сделать вот так:

//Ставим балун на местоположение по умолчанию

GeoMap.balloon.open(GeoMap.getCenter(), {

contentHeader: '',

contentBody: 'Текущее местоположение определено:
'  + ymaps.geolocation.country + ', ' + ymaps.geolocation.region + ', г.' + ymaps.geolocation.city

+ '
Долгота: ' + ymaps.geolocation.latitude + '
Широта: ' + ymaps.geolocation.longitude

}

); 

 

Т.е. мне надо узнать как заставить карту определить местоположение при её создании.
Пример указанный в песочнице не работает в локальном варианте, причем ошибок в консоле нет. 

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

и какой именно пример

Дмитрий Заерко
9 января 2014, 11:10

Я нашел вот такой пример:

    ymaps.geolocation.get({autoReverseGeocode: true, mapStateAutoApply:true })

 

        .then(вызов функции при успехе, вызов функции при ошибке);

Но эта штука не работает у меня в Chrome как минимум. 

 

Т.е. грубо говоря мы пытаемся определить местоположение используя функцию ymaps.geolocation.get()

если она нам что то возвращает то вызываем функцию создания карты с координатами определенными методом (успех()) или создаем карту с параметрами по умолчанию (ошибка())

         .then(успех(), ошибка());


Но в результате я получаю просто карту причем без зума и каких либо координат. такое ощущение что результат возвращаемый методом ничего не дает или блокируется чем либо, хотя в консоле нет сообщений.

Этот пример у меня работает и локально и удаленно

Дмитрий Заерко
9 января 2014, 11:51

В песочнице если я вставляю свой код то все работает, но почему в локальном файле не работает не могу сказать.
Метка кстати не ставиться даже в песочнице. 

Поставьте breakpoint в отладчике в onSuccess и посмотрите что за объект приходит в обработчик.

Возможно происходит какая-то ошибка при определении вашего местоположения.

Дмитрий Заерко
9 января 2014, 15:28

Ум, кстати идея. Поставил проверил, все в норме, правда параметры карты, которые мы получаем из geoObject не применяются, пришлось прописать их явно.
Спасибо за помощь.