Здравствуйте. Не знаю как правильно сделать позиционирование hint у маркера. Хочу вот что сделать: При наведении на маркер нужно чтобы у него появлялся хинт, который не будет двигаться туда сюда пока мы водим мышкой по маркеру. Также хочу сделать чтобы если хинт не вмещается на карте чтобы он появлялся в свободном месте карты(т.е если маркер внизу карты, хинт поялвляется сверху). Пример как должно работать http://prntscr.com/ai54di - это по умолчанию. А если к примеру не влазит снизу то должно отобразить вот так http://prntscr.com/ai55k1 .
Вот какую только смогла сделать реализацию.
myMap = new ymaps.Map('map', {
center:[53.902257,27.561831], // Минск
zoom:13
});
var myCollection = new ymaps.GeoObjectCollection(),
HintLayout = ymaps.templateLayoutFactory.createClass( "<div class='item-mark' style='display: block'>" +
"<p class='it-name'>{{ properties.title }}</p>" +
"<p class='rec-addr'>{{ properties.address }}</p>" +
"</div>", {}
),
markers='<?= json_encode($markers) ?>';
markers = JSON.parse(markers);
markers.forEach(function(item, i, markers) {
var coords = item.coord.split(','),
myPlacemark = new ymaps.Placemark([coords[0],coords[1]],{
category_alias : item.category_alias,
account : item.account,
address: "Москва, ул. Зоологическая",
title: "Центр современного"
},{
hintLayout: HintLayout,
openHintOnHover: false,
});
myPlacemark.events.add('mouseleave',function(e) {
var object = e.get('target');
object.hint.close(true);
});
myPlacemark.events.add('mouseenter',function(e) {
var object = e.get('target');
object.hint.open(object.geometry.getCoordinates());
});
myCollection.add(myPlacemark);
});
По данной реализации появляется хинт, но если он не влазит на карте, то он просто не виден, а надо чтобы он в свободном месте появлялся