我使用相同的函数调用来显示pin&我的地图上的注释。当我在反向地理编码调用内部的当前位置使用它时,引脚位于引脚底部(遮盖标注顶部)。当我在任何其他情况下调用相同的代码时(例如使用传递到视图控制器的坐标时),地图位于引脚顶部(这就是我想要的)。下面的代码,在此之后的图像。 placesData是自定义类PlacesData的对象,它符合:NSObject,MKAnnotation。提前谢谢!
func updateMap() {
centerMap(mapLocation: (placeData?.coordinate)!, regionRadius: regionRadius)
mapView.removeAnnotations(mapView.annotations)
mapView.addAnnotation(self.placeData!)
mapView.selectAnnotation(self.placeData!, animated: true)
}
另外:如果有意义,这里是我的函数的代码:mapView(_:viewFor :)
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let identifer = "Marker"
var view: MKPinAnnotationView
if let dequedView = mapView.dequeueReusableAnnotationView(withIdentifier: identifer) as? MKPinAnnotationView {
dequedView.annotation = annotation
view = dequedView
} else {
view = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifer)
view.canShowCallout = true
view.rightCalloutAccessoryView = UIButton(type: .custom)
}
return view
}