Клуб API Карт

Как правильно назначить клик по placemark

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

Сейчас я сделал так:

var placemark = new YMaps.Placemark(...);

placemark._onClick = function() {}

Но думаю это не совсем правильно, если ли другой способ?

5 комментариев
YMaps.Events.observe(placemark, placemark.Events.Click, function (placemark) {
    // Тут ваши действия

});

Подробнее: http://api.yandex.ru/maps/jsapi/doc/dg/concepts/map_events.xml
Это то, но не совсем
Мне нужно при клике на placemark взять информацию о точке аяксом и отобразить ее пользователю

То есть мне не нужно чтобы при клике на точку сразу появлялся стандартный попап, а появлялся только тогда, когда я уже возьму инфу об объекте.

Есть такая возможность?
уже обсуждалась ниже - создаете плейсмарк либо без балуна, либо заглушаете его появление.
при подгрузке данных - делаете openBalloon по нужным коориднатам и нужным текстом.

также никогда в жизни не используйте что либо в чужом коде называющееся на _. Оно для того так и называется чтобы не трогали
Можно.

Например, так:

var placemark = new YMaps.Placemark(map.getCenter(), { hasBalloon : false });                                                                                
map.addOverlay(placemark);

YMaps.Events.observe(placemark, placemark.Events.Click, function (placemark, e) {
    if (!placemark.description) {
        YMaps.jQuery.getJSON(function (response) {
            placemark.description = response.description;
            placemark.openBalloon();
        });
    } else {
        placemark.openBalloon();
    }
});
placemark.events.add(['click'],  function (e) {
    // Ваш код
})


-> https://tech.yandex.com/maps/jsbox/2.1/geoobject_events
Обновлено 14 февраля 2019, 23:03