如何在群集单击事件上缩放Azure地图边界框?
Azure Maps中的数据源可以在特定半径内聚集点要素(PIN)。当此类簇上发生单击事件时,我希望将边界框重置为簇所代表的区域,并放大以显示簇内的各个管脚如何在群集单击事件上缩放Azure地图边界框?,azure,bing-maps,azure-maps,Azure,Bing Maps,Azure Maps,Azure Maps中的数据源可以在特定半径内聚集点要素(PIN)。当此类簇上发生单击事件时,我希望将边界框重置为簇所代表的区域,并放大以显示簇内的各个管脚 使用谷歌地图,您可以将集群的默认行为设置为单击时自动缩放。这一特点在旧系统中也相对容易实现。如何在Azure Maps中添加此功能而不使用大量JavaScript?事实上,Azure Maps似乎不直接支持此功能,可以考虑以下方法: 单击“我们”图层后,事件将返回目标对象的像素位置以及其他属性。然后通过atlas.Map.pixelsToP
使用谷歌地图,您可以将集群的默认行为设置为单击时自动缩放。这一特点在旧系统中也相对容易实现。如何在Azure Maps中添加此功能而不使用大量JavaScript?事实上,Azure Maps似乎不直接支持此功能,可以考虑以下方法: 单击“我们”图层后,事件将返回目标对象的像素位置以及其他属性。然后通过
atlas.Map.pixelsToPositions函数确定簇圆的min
和max
坐标:
const coordinates = e.map.pixelsToPositions([
[e.pixel[0] + (clusterRadius*2), e.pixel[1] + (clusterRadius*2)],
[e.pixel[0] - (clusterRadius*2), e.pixel[1] - (clusterRadius*2)],
]);
然后通过以下方式确定簇泡内可能包含管脚的区域边界:
最后设置贴图视口:
map.setCamera({
bounds: bounds,
padding:0
});
这里是供您参考的这里是另一个演示,也是这样做的:它使用getClusterExpansionZoom函数来获得集群分解所需的缩放级别。这里是指向我链接到的示例的实时版本的链接:
map.setCamera({
bounds: bounds,
padding:0
});