单击按钮时如何使用“用户”当前位置显示注释?

时间:2015-07-13 02:59:47

标签: ios swift gps annotations mapkit

所以我创建的应用程序在单击按钮时,用户当前位置用于在Apples mapkit上创建注释。除了将按钮链接到将创建注释并在地图上显示注释的代码之外,我已经完成了所有工作。贝娄是我到目前为止的代码:

import UIKit
import CoreLocation
import MapKit

class ViewController: UIViewController, CLLocationManagerDelegate {

var locationManager = CLLocationManager()

@IBOutlet var Map: MKMapView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    locationManager.delegate = self
    locationManager.requestWhenInUseAuthorization()
    locationManager.startUpdatingLocation()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!) {

    println("Updating Location \(newLocation.coordinate.latitude) , \(newLocation.coordinate.longitude) ")

    let span = MKCoordinateSpanMake(0.0009, 0.0009)
    let region = MKCoordinateRegion(center: newLocation.coordinate, span: span)
    Map.setRegion(region, animated: false)
    }
}

正如您将看到的,我拥有它,因此它会不断向用户显示它们的位置。我想要这个,但我也希望用户能够创建注释。

我的问题是创建注释需要什么代码?它在哪里?我对编程很新,所以我并不是完全全面的所有代码术语,所以如果你愿意(请为我愚蠢)。此外,当用户单击添加注释的按钮时,需要删除最后一个注释。我该怎么做?我在Xcode中使用Swift。

1 个答案:

答案 0 :(得分:1)

你几乎就在那里!

  • 首先,在代码顶部创建一个注释(仅在类中):

    var annotation = MKPointAnnotation()

  • 然后,使用newLocation.coordinate.latitude.longitude创建CLLocationCoordinate2D并将其设置为annotation.coordinate

    • 然后使用map.title = "something"map.addAnnotation(annotation)

    • 为了达到这个目的,你需要让一些变量更加全局化,但是在放置注释之前,只需使用map.removeAnnotation(annotation) - 所以你只需要在屏幕上有一个注释一时间。