首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在React-Native中计算MapView组件的经纬度?

如何在React-Native中计算MapView组件的经纬度?
EN

Stack Overflow用户
提问于 2015-09-14 12:49:12
回答 2查看 10K关注 0票数 11

如何从React-Native中的MapView组件的纬度和经度值计算增量纬度和增量经度值。谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-06-28 02:54:19

如果你有一个坐标数组,并且你想要一个适合所有这些点的区域,你可以这样做:

代码语言:javascript
运行
复制
const regionContainingPoints = points => {
  let minLat, maxLat, minLng, maxLng;

  // init first point
  (point => {
    minLat = point.latitude;
    maxLat = point.latitude;
    minLng = point.longitude;
    maxLng = point.longitude;
  })(points[0]);

  // calculate rect
  points.forEach(point => {
    minLat = Math.min(minLat, point.latitude);
    maxLat = Math.max(maxLat, point.latitude);
    minLng = Math.min(minLng, point.longitude);
    maxLng = Math.max(maxLng, point.longitude);
  });

  const midLat = (minLat + maxLat) / 2;
  const midLng = (minLng + maxLng) / 2;

  const deltaLat = (maxLat - minLat);
  const deltaLng = (maxLng - minLng);

  return {
    latitude: midLat, longitude: midLng,
    latitudeDelta: deltaLat, longitudeDelta: deltaLng,
  };
}

// example region
const region = regionContainingPoints([
  {latitude: 47.12345, longitude: -124.12345},
  {latitude: 47.23456, longitude: -124.23456},
  {latitude: 47.34567, longitude: -124.34567},
]);

然后将region与react-native-map一起使用。

注意:我在我的例子中没有做错误检查。

票数 20
EN

Stack Overflow用户

发布于 2016-07-01 04:05:31

longitudeDeltalatitudeDelta将在源代码MapView中描述,其中表示您希望显示的最小点和最大点之间的差异。

所以,如果你想找到latitudeDelta,那么你应该计算你的纬度之间的最大差值,同样地,经度差值也是如此。您可以查看Ryan H的答案以了解实际的实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32557474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档