将地区纬度经度/经度转换为近似缩放水平
问题描述:
我使用来自Airbnb的伟大react-native-maps
应用程序react-native
。将地区纬度经度/经度转换为近似缩放水平
我得到了JSON文件上的标记列表,其中每个标记都有一个属性zoom
,这是一个近似缩放级别的整数,标记应在地图上显示/隐藏。
是否有根据的latitudeDelta
和Region
的longitudeDelta
正如我们在谷歌地图(1〜20),以获得当前的缩放级别的近似双/整数的方法吗?
感谢
答
好的,我拿出一个方便的解决方案,我不知道,如果我们可以做的更好。
我加入了onRegionChange
事件检索区域,然后我用一些数学:
<MapView
style={styles.map}
initialRegion={this.state.region}
onRegionChange={region => {
clearTimeout(this.timerForMap)
this.timerForMap = setTimeout(() => {
this.showMarkers(region)
}, 100)
}}>
...
然后:
showMarkers(region) {
let zoom = Math.round(Math.log(360/region.longitudeDelta)/Math.LN2)
...
}
如果有人有更好的方式来做到这一点,随意评论!
谢谢。
这也是我如何获得缩放级别。 – kytwb