Интегрировать библиотеку Supercluster с Angular Google Maps? - PullRequest
0 голосов
/ 29 марта 2019

Как мы можем применить кластеризацию на угловом слое данных?Уровень данных питается от точечного геойсона и насчитывает более 100К точек.Рендеринг такого количества точек в браузере идет медленно.Угловые карты Google имеет кластер маркера, но не кластер слоя данных.Поэтому я обратился к Supercluster за кластеризацией уровня данных.

Я наткнулся на библиотеку Supercluster, чтобы выполнить кластеризацию.Но не смог найти примеров, чтобы взять кластеры из Supercluster и отобразить их на Google Maps.Нужно ли нам писать собственный код для визуализации точек в кластере, когда пользователь увеличивает масштаб?

Я интегрировал библиотеку Supercluster в проект Angular 7.Вызвал getClusters () и получил кластерный массив (8 элементов).Я назначил этот кластерный массив для geojson ['features']. Этот geojson контролирует, какие точки отображаются на карте.После этого я вижу 8 элементов кластера на карте.Но как я могу показать эти отдельные точки, когда пользователь увеличивает или нажимает на кластер?

        // cluster GeoJSON points
        var index = new Supercluster({ radius: 40, maxZoom: 16 }).load(
          this.mapData["features"]
        );

        // get GeoJSON clusters given a bounding box and zoom
        var clusters = index.getClusters([-180, -85, 180, 85], 2);

        this.mapData["features"] = clusters;

mapData ['features'] имеет приблизительно 3000 точек.Кластеры - это массив, состоящий из 8 элементов.

Как показать отдельные точки в кластере при увеличении или при щелчке?Любой пример кода, статьи или документации будет очень полезен.

...