热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算我的位置和Swift上的MapKit引脚之间的距离

如何解决《计算我的位置和Swift上的MapKit引脚之间的距离》经验,为你挑选了1个好方法。

我需要你的帮助,我正在开发一个应用程序,我有一些引脚(位置),我想要的是获得每个和我的位置之间的距离.我的代码如下

let annotation = MKPointAnnotation()
let annotatiOnTwo= MKPointAnnotation()
let saintPaulHospitalBC = MKPointAnnotation()

override func viewDidLoad() {
    super.viewDidLoad()

    mapita.showsUserLocation = true // Mapita is the name of the MapView.

    annotation.coordinate = CLLocationCoordinate2D(latitude: 25.647399800, longitude: -100.334304500)
    mapita.addAnnotation(annotation)

    annotationTwo.coordinate = CLLocationCoordinate2D(latitude: 25.589339000, longitude: -100.257724800)
    mapita.addAnnotation(annotationTwo)

    saintPaulHospitalBC.coordinate = CLLocationCoordinate2D(latitude: 49.280524700, longitude:  -123.128232600)
    mapita.addAnnotation(SaintPaulHospitalBC)
}

当我运行代码时,地图显示了引脚,但我还能做些什么才能开始计算距离?谢谢!



1> brimstone..:

您必须将注释的坐标转换为CLLocation类型,然后获取它们之间的距离.要忽略坐标的高度,因为它们是2D,只需使用2D坐标的纬度和经度属性,如下所示:

let loc1 = CLLocation(latitude: coord1.latitude, longitude: coord1.longitude)

但是,CLLocation还有一些其他属性,如速度和高度,所以如果你想要那些因素,你必须提供更多的信息.要查找两个位置之间的距离,请执行以下操作:

let distance = loc1.distance(from: loc2)

这将以米为单位给出您的答案.


推荐阅读
author-avatar
济南谷幽兰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有