Клуб API Карт

Как перехватить обработчик клика по контролу геопозиции (API 2.1)?

Пост в архиве.

Возможно, мне и не надо его перехватывать, мне нужны координаты, полученные после определения местоположения.

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

Слушайте событие  positionchange.

Спасибо.

Что-то делаю не так, попробовала два способа, не получается.

Первый способ (перед этим добавлены все контролы).

map.controls.each(function(c){
  if (c instanceof ymaps.control.GeolocationControl)
  {
    c.events.add("positionchange", function(e){
      addCurrent(e.get("position"), "", "");
      updateCurrent();
    });
   }
});

 

Второй способ

geo = new ymaps.control.GeolocationControl();
geo.events.add("positionchange", function(e){
    addCurrent(e.get("position"), "", "");
    updateCurrent();
});
map.controls.add(geo);

Внутрь события (там, где addCurrent и updateCurrent) не попадает в обоих случаях.

С другими событиями нормально, например, click вызывается.

Оказалось, что в доке ошибка - событие называется locationchange. Поправим доку в ближайшее время, спасибо за репорт.

Да, спасибо. Теперь работает.