1

我有一个CLLoctionCoordinate2D,我想弄清楚离它给定距离的点。例如,让我们使用 100 英里。所以我想计算它的北、南、东和西 100 英里的点。

东方和西方很容易。我将两个坐标都转换为MKMapPoints并使用了distanceInMeters* MKMapPointsPerMeterAtLatitude(latitude)。这适用于东方和西方,因为纬度是恒定的。

但是,这不适用于北方和南方。在北方,它低估了,在南方,它低估了(因为MKMapPointsPerMeterAtLatitude随着你的移动而变化)。我如何计算南北的这些点?

4

2 回答 2

2

每纬度有60海里。这也适用于经度,但仅限于赤道。要计算以海里为单位的经度距离,请乘以经度度数 * 60nm * cos(以弧度为单位的纬度)的距离。

以纬度而不是 MKMapPoints 计算新点(以北 100 英里,以南 100 英里等),然后将纬度/经度(CLLocationCoordinate2D?)点转换为 MKMapPoints。

于 2012-05-01T04:53:37.270 回答
0

纬度线始终是一个恒定的角度,从地球的核心测量,这有点像它们的点。所以你需要做的是计算它们之间的距离,然后用它来获得南北 100 英里,然后得到地图点。地球表面距离的公式将在某处在线,可能以米或公里为单位。

于 2012-04-25T22:57:36.767 回答