先创建集群,然后使用 HereMap 添加节点 JavaScript API

Creating cluster first and then Adding node to it using HereMap JavaScript API

在 Android,我正在 HereMaps 上创建集群并使用 HereMaps 上的以下函数向其添加节点 Java API.

   private void initializeMapCluster() {

       truckImage = new com.here.android.mpa.common.Image();
        try {
            truckImage.setImageResource(R.drawable.truck_img);
        } catch (IOException e) {
        }

       markerCluster = new ClusterLayer();
        // Setting up basic cluster theme.
        BasicClusterStyle redStyle = new BasicClusterStyle();
        redStyle.setFillColor(Color.RED);
        BasicClusterStyle greenStyle = new BasicClusterStyle();
        greenStyle.setFillColor(Color.GREEN);

       ClusterTheme theme = new ClusterTheme();
        theme.setStyleForDensityRange(4, 9, redStyle);
        theme.setStyleForDensityRange(10, 49, greenStyle);
        markerCluster.setTheme(theme);
        map.addClusterLayer(markerCluster);
        map.setCenter(new GeoCoordinate(LAT, LNG, 0.0), Map.Animation.BOW);
        LocationUpdated(LAT, LNG);
    }

现在,我愿意做同样的事情,但无法使用 HereMaps JavaScript API.

找到类似的功能

不过,我可以通过 DataPoints 进行聚类,但我正在寻找一种方法,即先创建集群,然后使用 JavaScript API

向其添加节点

我在 HereMaps 的 JavaScript API 中找到了解决此问题的替代方法。我希望这可以帮助面临类似问题的人。

第 1 步:使用空数组创建集群数据提供程序:

var clusteredDataProvider = new H.clustering.Provider([], {
      clusteringOptions: {
        eps: 32,
        minWeight: 2
      }
    });

步骤 2:使用集群数据提供程序创建集群层:

var clusteringLayer = new H.map.layer.ObjectLayer(clusteredDataProvider);

步骤 3:向地图添加聚类图层:

map.addLayer(clusteringLayer)

步骤 4:向集群数据提供程序动态添加/删除数据点

var dataPoint1 = new H.clustering.DataPoint(lat1, lng1);
var dataPoint2 = new H.clustering.DataPoint(lat2, lng2);
clusteredDataProvider.addDataPoint(dataPoint1);
clusteredDataProvider.addDataPoint(dataPoint2);
clusteredDataProvider.removeDataPoint(dataPoint1);