我有一个CLLoctionCoordinate2D,我想找出离它给定距离的点是什么。例如,让我们使用100英里。所以我想要计算100英里的点在它的北,南,东,西。
东方和西方都很简单。我将两个坐标都转换为MKMapPoints并使用distanceInMeters*MKMapPointsPerMeterAtLatitude(latitude)。这对东部和西部都适用,因为纬度是恒定的。
然而,这并不适用于北方和南方。在北方,它低估了,而在南方,它低估了(因为MKMapPointsPerMeterAtLatitude随着你的移动而变化)。我如何计算北方和南方的这些点?
发布于 2012-05-01 12:53:37
每度纬度有60海里。这也适用于经度,但仅限于赤道。要计算以经度为单位的距离(以海里为单位),请将以经度为单位的距离乘以60 To * cos(以弧度为单位的纬度)。
计算新点(向北100英里,向南100英里,等等)在以后,不是MKMapPoints,然后转换您经度(CLLocationCoordinate2D ?)指向MKMapPoints。
发布于 2012-04-26 06:57:37
纬度线总是以恒定的角度分开,从地心开始测量,这就是纬度线的点。所以你需要做的是计算出它们之间的距离,然后用它来得到100英里的北/南,然后得到相应的地图点。计算地球表面距离的公式将在某处在线,可能以米或公里为单位。
https://stackoverflow.com/questions/10308242
复制相似问题