如何在swift中在MapView中添加多个注释或引脚

时间:2016-08-15 12:53:41

标签: ios swift mapkit

我正在开发一个应用程序,它定位当前用户位置并显示最近的运动中心到用户的当前位置。 目前我正在手动将纬度和经度添加到viewDidLoad()

override func viewDidLoad() {

    super.viewDidLoad()
    let pinLocation: CLLocationCoordinate2D = CLLocationCoordinate2DMake(43.0757,25.6172)
    let objectAnn = MKPointAnnotation()
    objectAnn.coordinate = pinLocation
    objectAnn.title = "Fitnes"
    objectAnn.subtitle = "Power"
    self.MapView.addAnnotation(objectAnn)

    let pinLocation2: CLLocationCoordinate2D = CLLocationCoordinate2DMake(43.0657,25.6272)
    let objectAnn2 = MKPointAnnotation()
    objectAnn2.coordinate = pinLocation2
    objectAnn2.title = "Swimming Pool"
    objectAnn2.subtitle = "Aqua"
    self.MapView.addAnnotation(objectAnn2)
}

是否可以在JSON文件中保存纬度和经度坐标,当用户打开应用程序时,它们会自动上传到函数中?

也可以通过协调来计算距离的应用程序,以便用户能够设置(km)范围并仅查看他附近的这些地方?

如果你向我提供一个简单的代码,我会很高兴。

1 个答案:

答案 0 :(得分:0)

你问:

  

是否可以在JSON文件中保存纬度和经度坐标,当用户打开应用程序时,它们会自动上传到函数中?

是的,使用纬度和经度值构建字典,然后使用NSJSONSerialization在该字典和可以保存到文件(和从中读取)的NSData之间来回转换。如果这只是出于您自己的目的,您还可以直接读取和写入NSDictionary值到文件,而不需要JSON。但是,如果您要使用外部资源(例如Web服务)发送和接收此数据,JSON非常出色。

  

也可以通过协调来计算距离的应用程序,以便用户能够设置(km)范围并仅查看他附近的这些地方?

当然,从CLLocation值创建CLLocationCoordinate2D个对象。然后,您可以使用distanceFromLocation计算两个CLLocation对象之间的距离。