【问题标题】:Zoom In/Out react-native-maps based on radius in km/miles基于公里/英里半径放大/缩小反应原生地图
【发布时间】:2020-12-06 23:07:52
【问题描述】:
我在我的 react-native 应用程序中有一个要求,如果用户提供一个数字,即公里数或英里数(如 5 或 10),则地图应放大/缩小以显示半径区域作为输入数字。
如何根据这些输入数字更改 latitudeDelta 和 longitudeDelta 值。
请帮帮我。提前致谢。
【问题讨论】:
标签:
android
ios
react-native
react-native-maps
【解决方案1】:
latitudeDelta 是屏幕上可见的度数。大约 111.045 KM 总是等于 1 度,所以你可以用这个计算当前可见区域的 latitudeDelta 以 KM 为单位
latitudeDelta = 直径 (UserEntered) / 111.045
这是假设屏幕处于纵向模式,因此 latitudeDelta 是较大的值。如果没有,请改用 longitudeDelta。
为了更新地图,您可以为 longitudeDelta 和 latitudeDelta 设置状态变量,当用户输入值时,您可以根据上述公式进行计算并更新这些状态变量,地图最终也会更新。