В API 2.1 Яндекс Карт есть потрясающий класс ymaps.LoadingObjectManager, который облегчает жизнь, когда нужно "лениво" загрузить на карту тысячу точек по всей России.
Вышла API v3. Куда пропал этот удобный класс? Теперь самостоятельно придется реализовывать эту логику?
Вот пример кода на API 2.1:
window.ymaps.ready(() => {
const map = new ymaps.Map('map', {
controls: [
'zoomControl',
new ymaps.control.SearchControl({
options: {
provider: 'yandex#map',
noPlacemark: true,
noSuggestPanel: true,
size: 'large',
}
})
],
suppressMapOpenBlock: false,
autoFitToViewport: 'always',
type: 'yandex#map',
center: [55.751574, 37.573856],
zoom: 10,
margin: 40,
}, {
yandexMapDisablePoiInteractivity: true,
});
const objectManager = new ymaps.LoadingObjectManager('https://example.ru/geo/points?bbox=%b&services=cdek', {
clusterize: true,
gridSize: 64,
openEmptyBalloon: true,
geoObjectBalloonPanelMaxMapArea: 400000,
balloonPanelMaxMapArea: 400000
});
objectManager.objects.options.set('preset', 'islands#blackDotIcon');
objectManager.clusters.options.set('preset', 'islands#blackClusterIcons');
map.geoObjects.add(objectManager);
});