如何添加iOS 10默认注释/引脚?

时间:2016-10-21 15:08:48

标签: ios swift xcode mkmapview

我的应用中有一个MapView。并且用户可以向MapView添加注释/引脚。我工作正常,但我想知道是否可以添加新的注释设计。

这是新的针脚:

enter image description here

这是我的地图显示的内容:

enter image description here

这是我的注释码:

let annotaion = MKPointAnnotation()

此行将我的注释添加到地图:

self.myMap.addAnnotation(self.annotaion)

谢谢。

2 个答案:

答案 0 :(得分:1)

你应该实施

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

来自MKMapViewDelegatehttps://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,则会看到较小的一个。