反应原生的 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);
我正在使用 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);