Макеты объектов можно создавать с помощью фабрики templateLayoutFactory,
используя текстовые шаблоны.
В данном примере создается пользовательский макет хинта геообъекта.
Макет задается геообъекту через опции.
Для того чтобы хинт автоматически сдвигал свою позицию в случае выхода за пределы контейнера карты, необходимо в его макете переопределить
метод getShape(). Данный метод должен возвращать текущие размеры макета хинта.
\n\n\n","placemark_hint_layout.js":"ymaps.ready(init);\n\nfunction init () {\n var myMap = new ymaps.Map(\"map\", {\n center: [55.76, 37.64],\n zoom: 10\n }, {\n searchControlProvider: 'yandex#search'\n }),\n // Создание макета содержимого хинта.\n // Макет создается через фабрику макетов с помощью текстового шаблона.\n HintLayout = ymaps.templateLayoutFactory.createClass( \"
\", {\n // Определяем метод getShape, который\n // будет возвращать размеры макета хинта.\n // Это необходимо для того, чтобы хинт автоматически\n // сдвигал позицию при выходе за пределы карты.\n getShape: function () {\n var el = this.getElement(),\n result = null;\n if (el) {\n var firstChild = el.firstChild;\n result = new ymaps.shape.Rectangle(\n new ymaps.geometry.pixel.Rectangle([\n [0, 0],\n [firstChild.offsetWidth, firstChild.offsetHeight]\n ])\n );\n }\n return result;\n }\n }\n );\n\n var myPlacemark = new ymaps.Placemark([55.764286, 37.581408], {\n address: \"Москва, ул. Зоологическая, 13, стр. 2\",\n object: \"Центр современного искусства\"\n }, {\n hintLayout: HintLayout\n });\n\n myMap.geoObjects.add(myPlacemark);\n}\n"},"resources":[],"directory":"https://sandbox.api.maps.yandex.net/examples/ru/2.1/placemark_hint_layout/"}
Макеты объектов можно создавать с помощью фабрики templateLayoutFactory, используя текстовые шаблоны.
В данном примере создается пользовательский макет хинта геообъекта. Макет задается геообъекту через опции.
Для того чтобы хинт автоматически сдвигал свою позицию в случае выхода за пределы контейнера карты, необходимо в его макете переопределить метод getShape(). Данный метод должен возвращать текущие размеры макета хинта.