2017-10-04 3 views
0

私はreact-nativeアプリでAirbnbのreact-native-mapsを使用しています。地域をlatitudeDelta/longitudeDeltaから近似ズームレベルに変換

JSONファイルにマーカーのリストがあります。これらのマーカーのそれぞれは、マップ上にマーカーを表示/非表示にする必要があるズームレベルの整数のプロパティzoomです。

我々は(1〜20)、Googleマップ上で持っているように、現在のズームレベルのおおよそのダブル/整数を取得するlatitudeDeltaRegionlongitudeDeltaに基づく方法はありますか?

おかげで[OK]を

答えて

3

は、私たちはより良いを行うことができます場合、私は知らない、便利なソリューションが付属しています。

私はその後、私はいくつかの数学を使用し、地域を取得するために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

関連する問題