将地区纬度经度/经度转换为近似缩放水平

问题描述:

我使用来自Airbnb的伟大react-native-maps应用程序react-native将地区纬度经度/经度转换为近似缩放水平

我得到了JSON文件上的标记列表,其中每个标记都有一个属性zoom,这是一个近似缩放级别的整数,标记应在地图上显示/隐藏。

是否有根据的latitudeDeltaRegionlongitudeDelta正如我们在谷歌地图(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) 
    ... 
} 

如果有人有更好的方式来做到这一点,随意评论!

谢谢。

+0

这也是我如何获得缩放级别。 – kytwb