【问题标题】:HERE Maps JavaScript API: how to get info from click on cluster markerHERE Maps JavaScript API:如何通过单击集群标记获取信息
【发布时间】:2022-01-09 13:46:50
【问题描述】:

遵循这 2 个文档:

https://developer.here.com/documentation/examples/maps-js/clustering/custom-cluster-theme

https://developer.here.com/documentation/maps/3.1.30.3/dev_guide/topics/clustering.html

我有一组标记。但是点击聚类标记的目标数据与点击噪声标记的目标数据不同。

  1. 如何在不覆盖主题的情况下在单击时从集群和噪声标记中获取数据以显示在气泡中?如何区分点击的是哪一个:集群还是噪音?因为如果我只是这样做:
clusteredDataProvider.addEventListener('tap', function(event) {
  let data = event.target.getData();
  console.log(data)
});

我需要的数据将来自集群的data.c.a.data 和来自噪声的data.a.data

  1. 如何在单击群集标记时停止可笑的放大和缩小效果?因为如果地图设置为缩放 2 并且噪声标记在缩放 16 上,当您单击集群标记时,它开始从 2 一直缩放到 16,然后直接回到 2,甚至没有机会加载地图。这太可怕了。我怎样才能阻止它?

谢谢。

【问题讨论】:

    标签: javascript maps here-api heremaps


    【解决方案1】:
    1. 目前唯一可行的方法是覆盖主题并在单击集群时获得一个随机点,随机点数据与噪声数据是同一对象。不知道怎么做。

    2. 为了停止在点击标记时疯狂放大和缩小,我添加了:

    let zoom = map.getZoom();
    
    map.setCenter(position, zoom > 6 ? true : false);
    
    if (zoom < 7) {
        map.setZoom(7, true);
    }
    

    这是动画居中,然后是动画缩放。因此,我将地图在没有动画的情况下以最低缩放居中,然后进行动画放大。仅当缩放低于集群标记级别时,我才为居中设置动画。

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 2015-09-10
      • 2011-12-15
      • 2013-05-23
      • 2018-12-23
      相关资源
      最近更新 更多