我的应用中有一个MapView
。并且用户可以向MapView
添加注释/引脚。我工作正常,但我想知道是否可以添加新的注释设计。
这是新的针脚:
这是我的地图显示的内容:
这是我的注释码:
let annotaion = MKPointAnnotation()
此行将我的注释添加到地图:
self.myMap.addAnnotation(self.annotaion)
谢谢。
答案 0 :(得分:1)
你应该实施
mapView(_ mapView: MKMapView,
viewFor annotation: MKAnnotation) -> MKAnnotationView?
来自MKMapViewDelegate
(https://developer.apple.com/reference/mapkit/mkmapviewdelegate/1452045-mapview)
实施例:
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
let view = MKAnnotationView()
view.image = UIImage(named: "pin")
return view
}
答案 1 :(得分:0)
我相信@ 0ndre_正在寻找默认图片,而不是引入自己的自定义图片。 @Franco_Meloni的回答不完整。这就是我的工作方式。
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let pin = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: nil)
pin.canShowCallout = true
let button = UIButton(type: .detailDisclosure)
pin.rightCalloutAccessoryView = button
if annotation.isEqual(mapView.userLocation) {
return nil
}
return pin
}
关键是使用MKMarkerAnnotationView获得更大的标记。如果您使用MKPinAnnotationView,则会看到较小的一个。