gpt4 book ai didi

ios - 使用 MKPointAnnotation 的自定义注释

转载 作者:行者123 更新时间:2023-11-28 12:16:19 25 4
gpt4 key购买 nike

这就是我想要做的:

对将填充 map 的所有位置使用单个自定义注释。我已将自定义图像保存在 Assets 中,但无法使其正常工作。

我的代码如下:

ViewDidLoad()

if let locationDict = snap.value as? Dictionary<String, AnyObject> {

let lat = locationDict["LATITUDE"] as! CLLocationDegrees
let long = locationDict["LONGITUDE"] as! CLLocationDegrees
let title = locationDict["NAME"] as! String
let center = CLLocationCoordinate2D(latitude: lat, longitude: long)
_ = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.10, longitudeDelta: 0.10))

let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2DMake(lat, long)
annotation.title = title.capitalized // if you need title, add this line
self.mapView.addAnnotation(annotation)
}

对将填充 map 的所有位置使用单个自定义注释。我已将自定义图像保存在 Assets 中,但无法使其工作(viewDidLoad 中的详细信息)

    func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

var annotationView: MKAnnotationView?


if annotation.isKind(of: MKUserLocation.self) {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "User")
annotationView?.image = UIImage(named: "icon")
}



return annotationView
}

最佳答案

你应该实现委托(delegate)方法:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

if annotation.isKind(of: MKUserLocation.self) {
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "User")
annotationView.image = UIImage(named: "icon")
return annotationView
}

let reuseId = "Image"
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId)
if annotationView == nil {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
annotationView?.canShowCallout = true
annotationView?.image = UIImage(named: "<<image name>>")
}
else {
annotationView?.annotation = annotation
}

return annotationView
}

关于ios - 使用 MKPointAnnotation 的自定义注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com