Как реализовать кастомный hint?
Появилась необходимость вывести информацию о содержимом кластера при наведении. Было реализовано два варианта.
- В хинте, но он не зафиксирован и смещается при движении мышью. Можно ли как-то его зафиксировать?
- Отрисовка нового блока внутри блока кластера, но при этом отсутствует возможность взаимодействовать с новым блоком.
Карта реагирует на него так, будто его там нет, сквозь него есть доступ как к другим кластерам, так и возможность двигать карту.
Ответы (1 шт):
Автор решения: Dionysioz
→ Ссылка
Попробуй при нажатии на кластер выводить html-форму с необходимой информацией. Я делал так:
CustomControlClass = function (options) {
CustomControlClass.superclass.constructor.call(this, options);
this._$content = null;
this._geocoderDeferred = null;
};
ymaps.util.augment(CustomControlClass, ymaps.collection.Item, {
onAddToMap: function (map) {
CustomControlClass.superclass.onAddToMap.call(this, map);
this._lastCenter = null;
this.getParent().getChildElement(this).then(this._onGetChildElement, this);
},
_onGetChildElement: function (parentDomContainer) {
// Создаем HTML-элемент с текстом.
this._$content = $('<div class="customControl"></div>').appendTo(parentDomContainer);
this._$content.html(textForSummary);
},
});
var customControl = new CustomControlClass();
ну а в "textForSummary" положи то что нужно.
но не забудь про ссылку на стили:
.customControl {
background-color: #fff;
padding: 10px;
border-radius: 6px;
max-width: 3000px;
box-shadow: 0 0 20px rgba(0,0,0,0.5); }
и прикрути вызов этой плашки к клику на кластер, либо к наведению на кластер. Раздел "События" в помощь события в учебнике яндекса
