Как добавить метки с помощью objectManager на Яндекс.картах?

Есть карта с местоположением пользователя (взято из примеров):
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);
    })

Документацию изучал, но мои познания в JS весьма поверхностны, так что сам не смог.
  • Вопрос задан
  • 1347 просмотров
Решения вопроса 1
Finesse
@Finesse
Указанный вами код для задания списка меток нужно поместить внутрь функции createMap, переименовав переменную myMap в map. Туда же нужно поместить код для задания элементов управления

Вот более простой пример создания карты со списком меток, добавляемым через 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);
    })
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Загрузка файла и добавление меток из него.
$.ajax({
        url: "wp-content/themes/urbech-style/data.json"
    }).done(function(data) {
        objectManager.add(data);
    })
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы