Перемещение к метке по клику

Есть карта яндекса, как можно по клику на кнопку например, вызвать событие на карте и переместиться в указанную метку на карте яндекса ? P.S кнопка должна находиться отдельно от карты


Ответы (2 шт):

Автор решения: Pr0gramm1st

let button = document.querySelector('button');
button.addEventListener('click', function() {
  goToPoint(this.dataset.idPoint);
});

/**
 * Функция центрирования карты относительно определённой метки
 *
 * param (int) idPoint - параметр, содержащий в себе идентификатор метки, который был использован при её добавлении на менеджер объектов вашей карты
 * newMap - объект вашей карты
 * setCenter - метод, устанавливайщий центр и коэффициент масштабирования карты
 * objectManager - тот самый менеджер объектов карты, при помощи которого вы добавляете метки на карту
 * objects - свойство объекта objectManager, хранящее в себе объекты карты
 * getById - метод у objectManager, который позволяет получить объект на карте через его идентификатор (в данном случае тот идентификатор, что указывали при добавлении на карту)
 * ну далее уже сами узнаете, если вдруг заинтересует
 */

function goToPoint(idPoint) {
  newMap.setCenter(objectManager.objects.getById(idPoint).geometry.coordinates, 18, {checkZoomRange: true});
}
<button data-id-point = "<здесь_идентификатор_вашей_метки>">Кнопка</button>

https://yandex.ru/dev/maps/jsapi/doc/2.1/ref/reference/ObjectManager.html - подробнее о менеджере объектов в документации к API Яндекс.Карт. Собственно, на этой же странице сможете найти примеры по добавлении меток на карту через этот объект

→ Ссылка
Автор решения: 9024872139

Всё намного проще оказалось, вот пример кода - https://codepen.io/kah3vich/pen/mdXNYXN

<div class="map" id="map" style="height:400px;width:100%;"></div>

<button data-objectid="1">Point 1</button>
<button data-objectid="2">Point 2</button>
<button data-objectid="3">Point 3</button>
→ Ссылка