gpt4 book ai didi

swift - 如何为除用户位置之外的所有点设置自定义注释?

转载 作者:行者123 更新时间:2023-12-04 10:01:44 24 4
gpt4 key购买 nike

授权检查后,为了获取用户位置,我调用了这个 CLLocation 委托(delegate)函数:

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

guard let latestLocation = locations.first else { return }

if currentCoordinate == nil {
zoomToLocation(with: latestLocation.coordinate)
}
currentCoordinate = latestLocation.coordinate
}

然后我放大用户的位置:
func zoomToLocation(with coordinate: CLLocationCoordinate2D) {
let regionDimension : Double = 1000
let zoomRegion = MKCoordinateRegion.init(center: coordinate, latitudinalMeters: regionDimension, longitudinalMeters: regionDimension)
mapView.setRegion(zoomRegion, animated: true)
}

到现在为止还挺好。但是我正在加载一些我有自定义注释的“目的地”,所以我需要调用这个委托(delegate)函数:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "AnnotationView")

if annotationView == nil {
annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "AnnotationView")
}

annotationView?.image = UIImage(named: "icon_marker")
annotationView?.canShowCallout = true
return annotationView
}

它用相同的自定义标记替换了用户位置的蓝点。这是一种非常奇怪的用户体验。如何从获取自定义注释中排除“我的位置”?

最佳答案

问题是您没有检查传入的 annotation .检查它!如果是 MKUserLocation,返回 nil .

关于swift - 如何为除用户位置之外的所有点设置自定义注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61785563/

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