折线/区域的react-native-maps mapPadding?

时间:2018-07-02 16:31:05

标签: react-native react-native-maps

我试图在折线周围留出空间,将其手动绘制到MapView上,并设置initialRegion,结果是通过此函数运行所有数据点:

export const getRegion = points => {
  const pointArray = [].concat(points).filter(point => point != null)
  if (pointArray.length < 1) return defaultRegion
  let minLat = 90
  let maxLat = -90
  let minLng = 180
  let maxLng = -180
  pointArray.forEach(({ lat, lng }) => {
    if (lat < minLat) minLat = lat
    if (lat > maxLat) maxLat = lat
    if (lng < minLng) minLng = lng
    if (lng > maxLng) maxLng = lng
  })
  return {
    latitude: (maxLat + minLat) / 2,
    longitude: (maxLng + minLng) / 2,
    latitudeDelta: (maxLat - minLat),
    longitudeDelta: (maxLng - minLng),
  }
}

这可以按预期工作,但是问题是点/标记可能很难靠在屏幕的边缘。

我尝试使用mapPadding,它似乎可行(因为地图的“ Google”徽标和控件(点击标记时的方向按钮)确实会受到它的影响),但是折线或其他任何东西作为孩子添加到地图不会受到影响,并且会紧贴屏幕边缘。

我是用mapPadding弄错了树还是错过了什么?如果mapPadding不是我想要的,那么有人可以建议另一种方法来实现这一目标吗?

0 个答案:

没有答案