React Native MapView:什么是 latitudeDelta longitudeDelta

2024-01-13

在示例中来自反应原生地图视图 https://github.com/react-community/react-native-maps/blob/master/README.md#mapview他们有 latitudeDelta 和 longitudeDelta。高度和宽度相等吗?以及在什么单位?根据他们的github评论 https://github.com/facebook/react-native/blob/0.28-stable/Libraries/Components/MapView/MapView.js#L140, 它说

要显示的最小和最大纬度/经度之间的距离。

但这对我没有帮助。我想知道用户在地图上看到了什么。


我来这里也是因为我找不到任何好的文档,而且谷歌搜索也没有帮助。以下内容来自我自己的研究:

仅其中之一latitudeDelta or longitudeDelta曾经用于计算地图的大小。它根据以下公式取两者中较大的一个,并忽略另一个。这样做是为了避免拉伸地图。

  1. 地图的大小根据样式中指定的宽度和高度和/或由反应原生计算。
  2. 该地图计算两个值,longitudeDelta/width and latitudeDelta/height,比较这 2 个计算值,并取两者中较大的一个。
  3. The map is zoomed according to the value chosen in step 2 and the other value is ignored.
    • 如果选择的值为longitudeDelta,那么左边缘是longitude - longitudeDelta右边缘是longitude + longitudeDelta。顶部和底部是填充高度而不拉伸地图所需的任何值。
    • 如果选择的值为latitudeDelta,那么底边就是latitude - latitudeDelta顶边是latitude + latitudeDelta。左侧和右侧是填充宽度而不拉伸地图所需的任何值。

这里有些例子:

// this uses latitudeDelta because 0.04/300 > 0.05/600
<MapView
  style={{width: 600, height: 300}}
  region={{
    latitude: 31.776685,
    longitude: 35.234491,
    latitudeDelta: 0.04,
    longitudeDelta: 0.05,
  }}
/>



// this uses longitudeDelta because 0.05/600 > 0/myVar when myVar > 0
<MapView
  style={{width: 600, height: myVar}}
  region={{
    latitude: 40.689220,
    longitude: -74.044502,
    latitudeDelta: 0,
    longitudeDelta: 0.05,
  }}
/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Native MapView:什么是 latitudeDelta longitudeDelta 的相关文章

随机推荐