Source

yandex.clusterer / README.md

Кластеризатор для Яндекс.карт

  • Позволяет отображать тысячи точек на картах Яндекса, группируя маркеры в кластеры
  • Оптимизирован для высокой производительности во всех браузерах
  • Использует встроенный компонент YMaps.ObjectManager для отслеживания видимости точек на карте
  • Не зависит от внешних библиотек, имеет минимальный размер (всего 6,5 Кб без gzip)
  • Код основан на библиотеке MarkerClustererPlus для Google Maps

Пример работы кластеризатора в сравнении с обычным размещением.

Как пользоваться

Способ 1: создание объекта YandexClusterer при каждом добавлении маркеров:

  • Создать массив точек YMaps.Placemark
  • Создать объект YandexClusterer с необходимыми параметрами и передать в него массив маркеров: new YandexClusterer(map, markers, opts)

Способ 2: создание объекта YandexClusterer только один раз (эффективнее):

  • Создать массив точек YMaps.Placemark
  • Создать объект YandexClusterer, не передавая в него маркеров: new YandexClusterer(map, [], opts)
  • Использовать методы setMarkers(markers) и repaint() для обновления информации
  • Для очистки маркеров можно использовать clearMarkers()

Параметры

При создании объекта YandexClusterer в него можно передать конфигурационные параметры:

  • max_zoom — максимальный масштаб, на котором маркеры объединяются в кластеры [0]
  • grid — размер сетки для кластеризации (чем меньше размер, тем больше будет кластеров) [60]
  • min_size — минимальный размер кластера [2]
  • centered — вычислять ли центр кластеров по точкам (медленнее, но точнее) [false]
  • batch — размер шага при вычислении кластеров (можно уменьшить при тормозах или для IE) [400]
  • imagePath — URL иконки (начало шаблона иконки) группы маркеров [http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/images/m]
  • imageExtension — расширение файла иконки группы маркеров [.png]
  • imageSizes — массив размеров иконок (если иконка не зависит от количества маркеров, нужно передавать массив из одного размера) [53, 56, 66, 78, 90]
  • printable — делать ли иконки печатаемыми при отключенной печати фона [false]
  • styles — массив объектов для задания стиля метки кластера, объект вида:
  • style.icon — картинка иконки для кластера
  • style.height — высота иконки [52]
  • style.width — ширина иконки [53]
  • style.offset — массив с отступами для привязки иконки [[0, 0]]
  • style.textColor — цвет текста подписи [#000000]
  • style.textSize — размер шрифта [11]

История изменений

  • 1.1 - Добавлена возможность задавать разные иконки в зависимости от количества маркеров, исправлены баги. Спасибо Neyasut

Автор: Александр Шабуневич, 2012

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.