Здравствуйте! Имеется Яндекс карта с id="map"
<div id="map" style="width: 99%; height: 500px" class="myMap"></div>
и кнопка
<button id="btnMap">кнопка </button>
Задача такова: у агентства имеются три адреса
var myCenter0 = [59.893254, 30.331014];
var myCenter1 = [59.890658, 30.318321];
var myCenter2 = [59.894513, 30.320270];
и нужно чтобы каждый раз нажав на кнопку с id="btnMap" первый адрес сменялся на второй, второй на третий, а третий на первый и так дале по циклу. Я для этого поместил все три адреса в массив
let arrLatLng = [myCenter0, myCenter1, myCenter2];
затем создал в переменную i
var i = 0;
где значение i равняется нулю и это значение я подставляют в ключ массива arrLatLng, а этот ключ я подставляю в значения свойства center в классе myMap (center: arrLatLng[i]) выглядит это так:
function init(){
var myMap = new ymaps.Map("map", {
center: arrLatLng[i],
zoom: 17
});
}
если в ручную менять значение переменной i, то на карте меняется центр. И должен сообщить что такую же задачу мне помогли решить, но это было на google карте, вот ссылка
Как менять адреса по нажатию на одну кнопку на Google map api JavaScript? . Я пробовал решить по аналогии но не чего не выходит вот весь код
ymaps.ready(init);
var myCenter0 = [59.893254, 30.331014];//адрес № 1
var myCenter1 = [59.890658, 30.318321];//адрес № 2
var myCenter2 = [59.894513, 30.320270];//адрес № 3
let arrLatLng = [myCenter0, myCenter1, myCenter2];//массив из трех адресов (или как правильно центры)
var i = 0;
$("#btnMap").click(function() {// во код который решил задачу на google карте
i = (i + 1) % arrLatLng.length;
myMap.setCenter(arrLatLng[i]);
});
function init(){
var myMap = new ymaps.Map("map", {
center: arrLatLng[i],//вот в ключ массива подставляется значение переменной i таким образом менятся на карте центр
zoom: 17
});
}