Вариантов много, и на самом деле я некоторое время назад пытался ответить на один и тот же вопрос по некоторым своим приложениям. И для наших разных продуктов мы нашли разные решения. Так что вы должны спросить себя
- Все ли одиночные значки на карте одного и того же «вида» - одинаковой формы и цвета?
- Если это не так, все они живут на одном слое или нескольких слоях?
- Если на нескольких, вы собираетесь кластеризовать каждый отдельный слой, или межуровневая кластеризация?
- Если кластеризация отдельных слоев, что, если значки перекрывают слои, у вас будет кластер кластеров?
- Нужно ли вам знать, «какой» тип объектов кластеризуется, или просто «эй, есть кластер» на карте. И выше вы сказали, что вам не нужно знать, сколько элементов там, просто посмотрев на значок кластера.
Вот пара примеров и что они значат и как они сделаны. Все это делается с помощью специального алгоритма кластеризации, а не с помощью кластеризации Bing (первое изображение) или стратегии кластеризации OL (второе). Таким образом, у меня намного больше контроля над внешним видом.
Крышка экрана из приложения Bing; у нас есть несколько слоев разных типов иконок и цветов. Мы выбрали кластеризацию значков, а затем скрыли все с помощью самого верхнего (самого важного) значка в кластере, а затем на самый верхний значок накладывается прозрачное изображение. Скажем, мои значки имеют размер 20x20, индикатор кластера представляет собой изображение 30x30, прозрачность которого составляет 80%, за исключением того, что в правом верхнем углу он имеет значок PLUS. Поэтому, когда я наложил поверх моего «репрезентативного» значка моего кластера, похоже, что у меня под ним есть кластер вещей. Когда пользователь наводит указатель мыши или щелкает, событие переходит к значку кластера, и они получают сообщение «N количество кластеризованных элементов» и могут щелкнуть или просмотреть для получения дополнительной информации.
В этой ситуации мы выбрали более простой подход. Иконки по-прежнему живут в разных слоях и имеют разное значение, и мы разбиваем кросс-слой, однако представительная иконка - это просто большой жирный знак ПЛЮС [размер которого варьируется до определенного предела].
Таким образом, в основном, мы выбрали «ПЛЮС» «+», чтобы указать кластер в обоих приложениях, но пошли разными путями, как разместить его на карте - наложить существующие значки карты, чтобы придать карте больше смысла, или просто очистить карту и добавьте ПЛЮС и предоставьте пользователю дополнительную информацию.