TIM*_*MEX 4 maps google-maps react-native react-native-maps
latitude: 38.69444432847513
latitudeDelta: 0.1288559458782288
longitude: -90.5969550254043
longitudeDelta: 0.1638044205986091
Run Code Online (Sandbox Code Playgroud)
假设我的地图区域具有上面的数据(我使用onRegionChange)
如何获得当前区域的距离(直径),以千米为单位?(由于手机处于纵向模式,因此宽度小于高度)
我可以做一个简单的转换吗?
南北距离的量(以度为单位)
因此可以简单地乘以latitudeDelta
由111
得到的近似高度(这应该是直径如果高度>宽度)。
如果需要宽度,则公式会稍微复杂一些,因为它取决于纬度:
longitudeDelta * 40075 * cos(latitude) / 360
Run Code Online (Sandbox Code Playgroud)
如果您需要一个非常精确的直径值,则可以使用Haversine公式或Vincenty公式,您可以自行实现或使用npm模块。
公式的两点是(latitude - latitudeDelta / 2, longitude)
和(latitude + latitudeDelta / 2, longitude)
。
归档时间: |
|
查看次数: |
455 次 |
最近记录: |