JavaScript API 的 HERE 地图:如何从地图中获取所有噪声点标记和聚类?

HERE maps for JavaScript API: How to get all noise points markers and clusters from the map?

我需要找到所有 .requestMarkers 其中 returns 所有与提供的矩形区域相交的聚类和噪声点标记。

现在我可以在地图的可视侧找到所有标记和集群

let viewBounds = map.getViewBounds(); //view bounds of map
let mapZoom = map.getZoom(); //map zoom
let arrayPoints = clusteredDataProvider.requestMarkers(viewBounds,mapZoom); //marker and cluster that we can see on map

但是如何从所有地图中获取这些标记和集群?

您应该在 Provider's options. All is explained in Clustering custom theme 示例中定义您的主题。 theme 需要两次回调,您应该在其中创建地图对象。例如,您可以将它添加到某个全局数组以供以后使用:

let objects = [];

let CUSTOM_THEME = {
  getClusterPresentation: function(cluster) {
    let marker = new H.map.Marker(cluster.getPosition());
    objects.push(marker);
    return marker;
  }
  getNoisePresentation: function(noisePoint) {
    let marker = new H.map.Marker(noisePoint.getPosition());
    objects.push(marker);
    return marker;
  }
}

let clusteredDataProvider = new H.clustering.Provider(
  <YOUR_DATA_POINTS>,
  {
    theme: CUSTOM_THEME
  });

这是一个简单的 jsfiddle 示例,它计算所有聚类和噪声点。

注意:此外,在 API 3.1 版中,您可以简单地调用 clusteredDataProvider.getRootGroup().getObjects()