gpt4 book ai didi

ios - (MapView) Userlocation image changed 帮助恢复

转载 作者:行者123 更新时间:2023-11-28 15:36:41 25 4
gpt4 key购买 nike

我正在使用 MapKit 并更改了注释的图像,但问题是,用户位置(蓝点)也更改了它的图片(我不希望这样)。我怎样才能恢复正常。此外,我在标注中添加了一个小按钮(正如您可能已经猜到的那样)已添加到我的位置并且它不应该在那里。我的代码如下...

    func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if !(annotation is MKUserLocation) {
print("annotation is MKUserLocation")
}
var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "identifier")
if annotationView == nil{
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "identifier")
annotationView!.canShowCallout = true
annotationView!.rightCalloutAccessoryView = UIButton(type: .detailDisclosure)

let pinImg = UIImage(named: "curz")
let size = CGSize(width: 50, height: 50)
UIGraphicsBeginImageContext(size)
pinImg!.draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
annotationView!.image = resizedImage
}
else {
annotationView!.annotation = annotation
}
return annotationView
}

//Var SelectedAnnotation
var anotacionSeleccionada : MKPointAnnotation!

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
if control == view.rightCalloutAccessoryView {
anotacionSeleccionada = view.annotation as? MKPointAnnotation
performSegue(withIdentifier: "vista", sender: self)
}
}


override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destination = segue.destination as? ViewController {
destination.pin = anotacionSeleccionada
}
}

最佳答案

在您的 viewFor annotation 函数的开头添加这一行:

if annotation is MKUserLocation {
return nil
}

因为如果是 MKUserLocation,您不想做任何事情。

关于ios - (MapView) Userlocation image changed 帮助恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211612/

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