首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有MKPointAnnotation在斯威夫特

没有MKPointAnnotation在斯威夫特
EN

Stack Overflow用户
提问于 2015-06-17 16:18:34
回答 1查看 382关注 0票数 1

我正在尝试添加一个标记目的地的MKPointAnnotation。该destination是从前一个视图控制器传递的MKMapItem。我知道destination有一个值,因为它下面的CLCircularRegion使用destination作为中心,一旦用户在范围内就会触发。我添加注释的方式有什么问题吗?

代码语言:javascript
复制
import UIKit
import MapKit
import CoreLocation

class ViewController2: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate{

var map: MKMapView?
var manager: CLLocationManager?
var destination: MKMapItem?


convenience init(frame:CGRect, destination:MKMapItem){
    self.init(nibName: nil, bundle: nil)
    self.destination = destination
    self.view.frame = frame


    self.map = MKMapView(frame: frame)
    self.map!.delegate = self

    self.view.addSubview(self.map!)
}


func viewDidAppear(animated: Bool) {

        var annotation = MKPointAnnotation()
        annotation.coordinate = destination!.placemark.coordinate
        self.map!.addAnnotation(annotation)

        var center: CLLocationCoordinate2D = destination!.placemark.coordinate
        var radius: CLLocationDistance = CLLocationDistance(300)
        var identifier: String = "Destination"
        let region = CLCircularRegion(center: center, radius: radius, identifier: identifier)
        manager?.startMonitoringForRegion(region)

    }

当按下按钮时将调用provideDirections函数。

代码语言:javascript
复制
import UIKit
import MapKit
import Parse

class ViewController1: UIViewController {

var alat = ""
var alng = ""


func provideDirections(){

                self.manager = CLLocationManager()
                self.manager.startUpdatingLocation()
                println("Location Updated")

                let request = MKDirectionsRequest()
                request.setSource(MKMapItem.mapItemForCurrentLocation())

                let latitude = (alat as NSString).doubleValue
                let longitude = (alng as NSString).doubleValue

                let destinationCoordinate = MKPlacemark(coordinate: CLLocationCoordinate2DMake(latitude, longitude), addressDictionary: nil)

                var secondVC = ViewController2(frame: self.view.frame, destination: MKMapItem(placemark: destinationCoordinate))


                self.navigationController?.pushViewController(secondVC, animated: true)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-17 17:41:14

我通过将注释从viewDidAppear移到convenience init来解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30897090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档