Почему не отображаются маркеры на яндекс карте? версия 3, ymaps3
Полный код, координаты выводятся корректно в консоли, на 2 версии маркеры показываются
ymaps3.ready.then(init);
// Инициализация и уничтожение карты при нажатии на кнопку.
function init () {
let myMap;
$('#toggle').bind({
click: function () {
if (!myMap) {
const {YMap, YMapDefaultSchemeLayer, YMapDefaultFeaturesLayer, YMapMarker} = ymaps3;
myMap = new YMap(document.getElementById('map'), {
location:{
zoom: 9,
center: [55.010251, 82.958437], // Новосибирск
}
} /* {
searchControlProvider: 'yandex#search'
} */);
const layer = new YMapDefaultSchemeLayer();
const layer2 = new YMapDefaultFeaturesLayer();
myMap.addChild(layer);
myMap.addChild(layer2);
/* console.log(pointArr); */
const content = document.createElement('section');
for (let i = 0; i < pointArr.length; i++) {
let point = pointArr[i];
/* myMap.setLocation({center:[point.latitude, point.longitude], zoom: 5}); */
let marker = new YMapMarker({coordinates: [point.latitude, point.longitude], draggable: true}, content);
myMap.addChild(marker);
console.log([point.latitude, point.longitude]);
}
$("#toggle").attr('value', 'Скрыть карту');
}
else {
myMap.destroy();// Деструктор карты
myMap = null;
$("#toggle").attr('value', 'Показать карту снова');
}
}
});
}
Ответы (2 шт):
Автор решения: YaSupport
→ Ссылка
В API 3.0 Яндекс координаты следует прописывать в фиксированном порядке (longitude, latitude). Как в версии 2.1 при подключении API порядок изменить нельзя.
В вашем примере координаты Новосибирска и точек перепутаны местами. Попробуйте указать их с правильным порядком LngLat.
Автор решения: Dm_it
→ Ссылка
Удалось подключить маркеры.
Импортировал пакет:
const {YMapDefaultMarker} = await ymaps3.import('@yandex/[email protected]');
// Импортируем пакет, чтобы добавить маркер по умолчанию
вместо YMapMarker использовал:
let marker = new YMapDefaultMarker(
{coordinates: [point.longitude, point.latitude], draggable: false});