所以我正在开发一个项目,其中包括在地图周围放置注释的许多用途。屏幕上会出现注释(这是一个具有更大圆形范围的自定义图像),理想情况下,我希望用户为:
我认为这是一个非常独特的问题,对于有人提供帮助应该很有趣,所以玩得开心!谢谢大家!
答案 0 :(得分:5)
您可以使用
检查每个注释的距离- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location
此方法通过跟踪测量两个位置之间的距离 它们之间的一条线跟随地球的曲率。该 产生的弧线是一条平滑的曲线并没有考虑在内 两个地点之间的特定高度变化。
有关详细信息,请参阅Link
答案 1 :(得分:1)
试试这个:
let location = CLLocation(latitude: 1, longitude: 1)//Or user's location
let distance = location.distance(from: anotherLocation)
编辑:
如评论中所述,您想要创建一个等距点。我建议手动执行此操作:
从用户的位置减去注释的位置。然后将您的距离添加回原始距离。例如:
用户的位置=(1,1)
注释的位置=(3,2)
垂直差异为2
水平差异为1
然后:
(3 + 2,2 + 1)
您的结果:(5,3)
现在你将有两个点(你刚创建的那个点和用户的位置),每个点有一个中心点(原始注释)