首先创建集群,然后使用HereMap JavaScript API向其中添加节点
在Android上,我正在HereMaps上创建集群,并使用HereMaps Java API上的以下函数向其添加节点首先创建集群,然后使用HereMap JavaScript API向其中添加节点,javascript,android,maps,here-api,Javascript,Android,Maps,Here Api,在Android上,我正在HereMaps上创建集群,并使用HereMaps Java API上的以下函数向其添加节点 private void initializeMapCluster() { truckImage = new com.here.android.mpa.common.Image(); try { truckImage.setImageResource(R.drawable.truck_img); }
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找到类似的函数
尽管如此,我能够通过数据点进行集群,但我正在寻找一个选项,即首先创建集群,然后使用JavaScript API将节点添加到集群中。我在HereMaps的JavaScript API中找到了解决此问题的替代方案。我希望这能帮助面临类似问题的人 步骤1:使用空数组创建群集数据提供程序:
var clusteredDataProvider = new H.clustering.Provider([], {
clusteringOptions: {
eps: 32,
minWeight: 2
}
});
var clusteringLayer = new H.map.layer.ObjectLayer(clusteredDataProvider);
map.addLayer(clusteringLayer)
步骤2:使用群集数据提供程序创建群集层:
var clusteredDataProvider = new H.clustering.Provider([], {
clusteringOptions: {
eps: 32,
minWeight: 2
}
});
var clusteringLayer = new H.map.layer.ObjectLayer(clusteredDataProvider);
map.addLayer(clusteringLayer)
步骤3:将群集层添加到地图:
var clusteredDataProvider = new H.clustering.Provider([], {
clusteringOptions: {
eps: 32,
minWeight: 2
}
});
var clusteringLayer = new H.map.layer.ObjectLayer(clusteredDataProvider);
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);