Не отображается метка на Yandex Maps
Не выводятся Placemark на карту Яндекса.
<script>
ymaps.ready(init);
function init () {
var coordinate = <?=CUtil::PhpToJSObject($resultativ);?>;
var myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 9
});
for (var i = 0, l = coordinate.length; i < l; i++) {
myPlacemark1 = new ymaps.Placemark([coordinate[i]], {
iconContent: ' ',
hintContent: 'г.Москва, ул.Ленина 12'
}, {
preset: 'twirl#redIcon'
});
alert (coordinate[i]);
myMap.geoObjects.add(myPlacemark1);
}
}
</script>
В то же время при выводе alert (coordinate[i]); - массив перебирает координаты, тобишь работает, но в формате: 55.763775,37.526462, обычно указано формат в документациях Яндекса: [55.763775,37.526462]
Как исправить? Что можно придумать, чтобы вывело Placemark? Вторые сутки кручусь... Возможно добавить как-то к координатам []?
myPlacemark1 = new ymaps.Placemark([coordinate[i]] - пробовал такой формат
myPlacemark1 = new ymaps.Placemark(coordinate[i] - и такой..
Ответы (1 шт):
Автор решения: letUser
→ Ссылка
1 - Разбейте массив координат на чанки по 2 элемента.
2 - Используйте коллекцию координат указанную в документации Яндекс Карт по ссылке: https://yandex.ru/dev/maps/jsbox/2.1/geo_object_collection
3 - дока по хинтам и баллунам: https://yandex.ru/dev/maps/jsbox/2.1/balloon_and_hint
ymaps.ready(init);
function init () {
const coordinate = ["55.766546546,37.64546456", "55.743429,37.6643242"];
const pointCoords = [];
let myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 9
});
const collection = new ymaps.GeoObjectCollection(null, {
preset: 'twirl#redIcon'
});
for (let i = 0; i < coordinate.length; i++) {
collection.add(new ymaps.Placemark(coordinate[i]
.split(',').map(coord => +Number(coord).toFixed(2)),
{
iconContent: ' ',
hintContent: "Хинт метки",
balloonContent: "Содержимое <em>балуна</em> метки"
}
));
}
myMap.geoObjects.add(collection)
}
body, html {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
}
#map {
width: 100%;
height: 90%;
}
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=01d57a46-2d2e-40ee-9d47-f94e68ee1b0e"></script>
<div id="map"></div>