Здравствуйте. Не знаю как правильно сделать позиционирование 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); });
По данной реализации появляется хинт, но если он не влазит на карте, то он просто не виден, а надо чтобы он в свободном месте появлялся