【发布时间】:2020-08-10 22:03:28
【问题描述】:
我的地图图钉彼此相对靠近,即使在大变焦时我仍然看到它们聚集在一起。 我通过将簇状图钉散布 5-10 米的随机距离解决了这个问题。
我需要更准确的解决方案,所以我的想法是禁用低于特定缩放级别的集群,但我没有找到任何方法。
【问题讨论】:
标签: javascript maps bing-maps
我的地图图钉彼此相对靠近,即使在大变焦时我仍然看到它们聚集在一起。 我通过将簇状图钉散布 5-10 米的随机距离解决了这个问题。
我需要更准确的解决方案,所以我的想法是禁用低于特定缩放级别的集群,但我没有找到任何方法。
【问题讨论】:
标签: javascript maps bing-maps
Bing Maps的聚类图层中没有禁用聚类的选项,但是你可以做的是监控地图的缩放级别,当它到达某个点时,隐藏聚类图层并加载一个新图层那不是集群的。不幸的是,这意味着在内存中有两个数据副本。
如果您还没有完全致力于使用 Bing Maps 平台,您可能还想看看 Azure Maps。 Azure Maps Web SDK 的做法稍有不同,您可以将数据保存在单个数据源中并将渲染层附加到其中。集群在数据源中打开,并且有一个用于集群的最大缩放级别选项。
这里有一些例子:https://azuremapscodesamples.azurewebsites.net/index.html?search=cluster 这是文档:https://docs.microsoft.com/en-us/azure/azure-maps/clustering-point-data-web-sdk
【讨论】:
ClusterLayerOptions 上现在有一个选项 clusteringEnabled,它将禁用集群而不丢失整个层。
例如:
Microsoft.Maps.Events.addHandler(this.map, 'viewchangeend', () => {
// de-cluster at highest zoom level
this.clusterLayer?.setOptions({
clusteringEnabled:
this.map.getZoom() < this.map.getZoomRange().max
});
});
【讨论】: