使用两个功能将注释添加到 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的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 MapKit (SwiftUI) 将工具提示添加到地图注释以在地图上显示位置名称