@Cyber-Pavel

Как вывести на одной странице несколько яндекс карт путем перебора кординат на js?

Добрый день. Я хочу вывести на одной странице несколько карт. Я написал следующий скрипт, но у меня выходят пустые карты. Не понимаю в чем проблема. Буду рад любой помощи!
65dc3537831c5865371124.png

var maps = [];
var placemarks = [];
	//let	coordListMap2=[{"coordinates":"43.280587,76.92281",'id':"908"},{"coordinates":"43.280587,76.92281",'id':"890"}]
	let coordListMap2 = document.getElementsByClassName("contacts-title")
for(let i = 0; i < coordListMap2.length; i++) {
	ymaps.ready(function(){


var ind = i + 1;
	var mapId = 'map' + coordListMap2[i].dataset.id;


     maps[i] = new ymaps.Map (mapId, {
        center: [coordListMap2[i].dataset.coord],
        zoom: 10
    });
     placemarks[i] = new ymaps.Placemark([coordListMap2[i].dataset.coord], { 
        iconContent: 'Москва', 
        balloonContent: 'Столица России' 
    }, {
        preset: 'twirl#blueStretchyIcon'
    });
});
}
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
Anastasia2306
@Anastasia2306
PHP-разработчик.
Вот так попробуйте
var maps = [];
var placemarks = [];
let coordListMap2 = document.getElementsByClassName("contacts-title")
for(let i = 0; i < coordListMap2.length; i++) {
    (function(i) {
        ymaps.ready(function(){
            var mapId = 'map' + coordListMap2[i].dataset.id;
            maps[i] = new ymaps.Map (mapId, {
                center: [coordListMap2[i].dataset.coord],
                zoom: 10
            });
            placemarks[i] = new ymaps.Placemark([coordListMap2[i].dataset.coord], { 
                iconContent: 'Москва', 
                balloonContent: 'Столица России' 
            }, {
                preset: 'twirl#blueStretchyIcon'
            });
        });
    })(i);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
27 апр. 2024, в 13:49
300000 руб./за проект
27 апр. 2024, в 13:30
30000 руб./за проект
27 апр. 2024, в 13:22
600 руб./за проект