mapView.fitToBounds() 方法不起作用

问题描述 投票:0回答:1

我创建了一个气泡图,底部有一张地理地图,上面以气泡的形式表示点。这些点具有纬度经度信息,借助这些信息,它们可以呈现在地图上。我正在使用 highcharts 库在打字稿项目中执行相同的操作。我的要求是,加载地图时应放大存在气泡的区域。剩余的空白地图无需显示。

我尝试使用mapView.fitToBounds()方法,但放大不起作用。 参考:https://api.highcharts.com/class-reference/Highcharts.MapView#fitToBounds

因为我有纬度和经度信息,所以我需要首先将其转换为像素值,因为 mapView.fitToBounds() 需要像素值作为输入。我尝试使用 mapView.lonLatToPixels() 方法进行相同的操作。 参考:https://api.highcharts.com/class-reference/Highcharts.MapView#lonLatToProjectedUnits

我尝试在图表实例上调用这些方法,但它对输出没有任何影响。我希望每当地图加载时都会放大由最小和最大纬度和经度值定义的区域。我需要使用上面提到的方法来设置我的项目。您能否让我知道我在使用它们时缺少什么?

代码沙箱链接:https://codesandbox.io/p/sandbox/bubblemapdemo-fm5vqw?file=%2Fsrc%2FBubbleMapViewer.tsx%3A188%2C30-188%2C52

typescript highcharts zooming bubble-chart react-highcharts
1个回答
0
投票

mapView.fitToBounds()
方法使用投影值,而不是您所描述的像素值。您可以使用
lonLatToProjectedUnits()
转换将地理坐标转换为投影平面值。

演示: https://codesandbox.io/p/sandbox/bubblemapdemo-forked-jvsnd2?file=%2Fsrc%2FBubbleMapViewer.tsx%3A81%2C10

© www.soinside.com 2019 - 2024. All rights reserved.