使用两个功能将注释添加到 mapView

Posted

技术标签:

【中文标题】使用两个功能将注释添加到 mapView【英文标题】:Add Annotation into mapView with two function 【发布时间】:2017-04-09 18:17:14 【问题描述】:

我已经创建了这两个函数,当我调用函数 pippo() 时,我收到一个错误“致命错误:在展开可选值时意外发现 nil”,为了修复这个错误,我将这个 mapView.addAnnotation(hello) 修改为 @ 987654322@,但是我没有将注解显示到map中,如果我在caricamappa里面调用pippo注解就成功了,但是我想分离函数加载map并添加注解,可以吗?

func caricamappa()
    let styleURL = NSURL(string: "mapbox://**")
    let mapView = MGLMapView(frame: view.bounds,
                              styleURL: styleURL as URL?)
    mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

    // Set the map’s center coordinate and zoom level.
    mapView.setCenter(CLLocationCoordinate2D(latitude: 46.370417,
                                              longitude: 8.411713),
                      zoomLevel: 13, animated: false)
    view.addSubview(mapView)
    mapView.delegate = self



func pippo()
    let hello = MGLPointAnnotation()
    hello.coordinate = CLLocationCoordinate2D(latitude: 46.376362, longitude: 8.396907)
    hello.title = "Hello world!"
    hello.subtitle = "Welcome to my marker"

    // Add marker `hello` to the map.
    mapView.addAnnotation(hello)





override func viewDidLoad() 
    super.viewDidLoad()
    caricamappa()
    pippo()

【问题讨论】:

【参考方案1】:

您在 caricamappa 中定义了 mapView,因此它在 pippo 中不存在,而是在您的方法之外将 mapView 设为 IBOutlet。

【讨论】:

好的,谢谢!!现在我看到了注释,但我需要使用函数 func mapView(_ mapView: MGLMapView, imageFor annotation: MGLAnnotation) -> MGLAnnotationImage? 如果让点 = 注释为? CustomPointAnnotation 和成 pippo 是不能用这个函数的吧? 对不起,我不明白你的问题。您能否在原始帖子中添加更多代码,我会尽力提供帮助。

以上是关于使用两个功能将注释添加到 mapView的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将 SQL 注释添加到使用 ORM 构建的查询中?

如何使用 MapKit (SwiftUI) 将工具提示添加到地图注释以在地图上显示位置名称

将单击功能添加到 Jquery DataTable 中的两个按钮

c# 抽象方法添加覆盖的默认注释

以编程方式将文本注释添加到图形

将@Generated注释添加到JAXB生成的类中