反应原生的 MapView 内的动态 Lat Lang

Dynamic Lat Lang inside a MapView in react-native

我正在使用 expo MapView。我正在寻找关于如何根据 phone 的高度和宽度找到纬度和陆地的解决方案。Ex : [ [lat, lang],[lat, lang],[lat, lang],[lat, lang] ]

有人可以 help/clarify 我请 .

当您通过 onRegionChange 或任何其他类似事件从 MapView 获取区域对象时,该对象包含 4 个属性。

例子

const region = {
  latitude: 37.78825,
  longitude: -122.4324,
  latitudeDelta: 0.0922,
  longitudeDelta: 0.0421,
}

增量值是您要显示的最小值和最大值之间的差值。

(图片来自MKMapView and Zoom Levels: A Visual Guide

使用此信息,您可以计算 MapView 的 4 个角(地图边界),或者您可以使用它们来设置缩放级别。

示例 (未测试,因此计算可能存在一些错误)

如果我们在下面示例中给出的区域上设置 MapView,我们的四个角将是下面计算的位置。

const leftTopLongitude = region.longitude - (region.longitudeDelta / 2);
const rightTopLongitude = region.longitude + (region.longitudeDelta / 2);
const leftTopLatitude = region.latitude + (region.latitudeDelta / 2);
const rightTopLatitude = region.latitude + (region.latitudeDelta / 2);

const leftBottomLongitude = region.longitude - (region.longitudeDelta / 2);
const rightBottomLongitude = region.longitude + (region.longitudeDelta / 2);
const leftBottomLatitude = region.latitude - (region.latitudeDelta / 2);
const rightBottomLatitude = region.latitude - (region.latitudeDelta / 2);