2017-03-20 46 views
0

在Android上添加節點到它,我就HereMaps創建集羣,並使用以下功能上HereMaps的Java API將節點添加到它。首先創建集羣,然後使用HereMap的JavaScript 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找到類似的功能。

雖然,我能夠通過數據點做集羣,但是我正在尋找首先創建集羣的選項,然後添加節點到它使用JavaScript API

回答

0

我已經找到一個替代的解決方案的JavaScript API在這個問題HereMaps的。我希望這可以幫助面臨類似問題的人。

步驟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); 
相關問題