Версия:
Популярные примеры
Карта
Геообъекты
Балун и хинт
Элементы управления
Активные области
Кластеризация
GeoQuery
Поведения и события
Поиск по карте
Пробки
Местоположение пользователя
Маршрутизация
YMapsML
GeoXML
ObjectManager
Модульная система
Панорамы
Внешние модули

Оптимальное добавление множества меток

Сохранить как файлыЭкспорт на JSFiddle

ObjectManager - класс, позволяющий добавить на карту большое количество объектов без необходимости создавать и добавлять на карту метки по отдельности.

Объекты, добавленные в ObjectManager, располагаются в коллекции ObjectManager.objects. Кластеры, образованные из добавленных меток, добавляются в коллекцию ObjectManager.clusters. Визуальное отображение меток создается по требованию асинхронно. Визуальным отображением меток и кластеров являются объекты, реализующие интерфейс IOverlay. В частности, overlay.Placemark. Оверлеи помещаются в коллекции ObjectManager.objects.overlays и ObjectManager.clusters.overlays соответственно.

ObjectManager принимает описания меток в JSON формате. Метки могут кластеризоваться или показываться как есть. Если вы не используете кластеризацию, то метки будут показаны только в видимой области карты. Поскольку объекты хранятся в менеджере в виде JSON описаний и их визуальное отображение создается только по необходимости, этот способ добавления точек на карту работает быстрее, чем добавление меток на карту напрямую или через кластеризатор.

\n\n","object_manager.js":"ymaps.ready(init);\n\nfunction init () {\n var myMap = new ymaps.Map('map', {\n center: [55.76, 37.64],\n zoom: 10\n }, {\n searchControlProvider: 'yandex#search'\n }),\n objectManager = new ymaps.ObjectManager({\n // Чтобы метки начали кластеризоваться, выставляем опцию.\n clusterize: true,\n // ObjectManager принимает те же опции, что и кластеризатор.\n gridSize: 32,\n clusterDisableClickZoom: true\n });\n\n // Чтобы задать опции одиночным объектам и кластерам,\n // обратимся к дочерним коллекциям ObjectManager.\n objectManager.objects.options.set('preset', 'islands#greenDotIcon');\n objectManager.clusters.options.set('preset', 'islands#greenClusterIcons');\n myMap.geoObjects.add(objectManager);\n\n $.ajax({\n url: \"data.json\"\n }).done(function(data) {\n objectManager.add(data);\n });\n\n}"},"resources":["data.json"],"directory":"https://sandbox.api.maps.yandex.net/examples/ru/2.1/object_manager/"}
Пишете на JavaScript? У нас есть вакансии
Sun Sep 18 2022 20:10:14 GMT+0300 (Moscow Standard Time)