Answer the question
In order to leave comments, you need to log in
How to add markers using the objectManager on Yandex.Maps?
There is a map with the user's location (taken from examples ):
ymaps.ready(function () {
var map;
ymaps.geolocation.get().then(function (res) {
var mapContainer = $('#map'),
bounds = res.geoObjects.get(0).properties.get('boundedBy'),
// Рассчитываем видимую область для текущей положения пользователя.
mapState = ymaps.util.bounds.getCenterAndZoom(
bounds,
[mapContainer.width(), mapContainer.height()]
);
createMap(mapState);
}, function (e) {
// Если местоположение невозможно получить, то просто создаем карту.
createMap({
center: [55.751574, 37.573856],
zoom: 2
});
});
function createMap (state) {
map = new ymaps.Map('map', state);
}
});
}
objectManager = new ymaps.ObjectManager({
// Чтобы метки начали кластеризоваться, выставляем опцию.
clusterize: true,
// ObjectManager принимает те же опции, что и кластеризатор.
gridSize: 32,
clusterDisableClickZoom: true
});
// Чтобы задать опции одиночным объектам и кластерам,
// обратимся к дочерним коллекциям ObjectManager.
objectManager.objects.options.set('preset', 'islands#redDotIcon');
objectManager.clusters.options.set('preset', 'islands#redClusterIcons');
myMap.geoObjects.add(objectManager),
$.ajax({
url: "wp-content/themes/urbech-style/data.json"
}).done(function(data) {
objectManager.add(data);
})
Answer the question
In order to leave comments, you need to log in
The code you specified for setting the list of labels must be placed inside the function createMap
, renaming the variable myMap
to map
. You also need to place the code for setting controls there.
Here is a simpler example of creating a map with a list of labels added via the ObjectManager:
ymaps.ready(function() {
// Создание карты и установка элементов управления
var map = new ymaps.Map(document.getElementById('map'), {
center: [42, 54],
zoom: 6,
controls: ['zoomControl', 'fullscreenControl'] // Полный список тут: https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/controls-docpage/#standard
});
// Добавление меток через ObjectManager
var objectManager = new ymaps.ObjectManager({
clusterize: true
});
map.geoObjects.add(objectManager);
$.ajax({
url: 'wp-content/themes/urbech-style/data.json'
}).done(function(data) {
objectManager.add(data);
})
});
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question