【问题标题】:Center coordinate with radius convert to ne and sw coordinates带半径的中心坐标转换为 ne 和 sw 坐标
【发布时间】:2014-08-04 11:05:19
【问题描述】:

我有CLLocationCoordinate2D 和一些以米为单位的半径。 我想获取该区域的两个边界坐标(右上角和左下角)。

【问题讨论】:

  • 链接答案中的三角函数对于您的情况可能是不必要的。 This approach 可能更简单。

标签: ios cllocationdistance cllocationcoordinate2d


【解决方案1】:

如果我理解正确,您想定位这 2 个红色方块:

感谢您可以找到here 的代码,实现非常简单:

    CLLocationCoordinate2D cc0 = coordinate;
    CLLocationCoordinate2D cc1 = [self coordinateFromCoord:cc0 atDistanceKm:circleRadius atBearingDegrees:45];
    CLLocationCoordinate2D cc2 = [self coordinateFromCoord:cc0 atDistanceKm:circleRadius atBearingDegrees:225];
    NSLog(@"%.5f,%.5f -> %.5f,%.5f AND %.5f, %.5f", cc0.latitude, cc0.longitude, cc1.latitude, cc1.longitude, cc2.latitude, cc2.longitude);

【讨论】:

  • 我正在寻找外部正方形的坐标,但我想我可以用你的代码自己弄清楚。谢谢!
  • 抱歉,我没看懂最后的评论。我认为最简单的方法是将新半径计算为三角形的斜边。
  • 您的意思是替换其他帖子中的double distanceRadians = distanceKm / 6371.0; 吗?
  • 嗯,这是最快的方法。但是,如果您有时间,您可以将计算为弧度的距离添加到中心点,然后将 toLonRadians 调整到 -180 到 +180 的范围内。
  • 无论如何我删除了该评论,因为我粘贴了错误的计算。角度 = distanceInMeters / 6371000; // 地球半径 = 6371km
猜你喜欢
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多