Добавление изображений на карту аннотации (Swift)

Я пытаюсь создать приложение, которое использует MapKit, и я хочу создавать аннотации на карте, но я изо всех сил стараюсь размещать изображения на аннотациях карты.

Я новичок в программировании на Swift, я работал над этим учебником, но я не могу найти в Интернете нигде, который бы помог вам реализовать изображение, большинство руководств используют Objective C.

Это мой класс аннотаций, который вызывается в моем View Controller.

Примечание. У меня есть маленькое изображение, которое я хочу показать в папке images.xcassets как mapAnnotation.

let buildingName = location(title: "Building Name",
                            locationName: "Location",
                            coordinate: CLLocationCoordinate2D(latitude: NUMBER, longitude: NUMBER))

theMapview.addAnnotation(buildingName)

Вот класс аннотации...

class location: NSObject, MKAnnotation {
    let title: String
    let locationName: String
    let coordinate: CLLocationCoordinate2D

    //Retrieve an image
    var image = UIImage(named: "mapAnnotation")

    init(title: String, locationName:String, coordinate: CLLocationCoordinate2D) {
        self.title = title
        self.locationName = locationName
        self.coordinate = coordinate
        self.image
        super.init()
    }

    var subtitle: String {
        return locationName
    }
}

1 ответ

Вы на правильном пути.

MKAnnotation - это абстрактный объект, в котором хранится информация об аннотации карты.

Теперь вам нужно создать собственный подкласс MKAnnotationView. Это фактический объект вида, который добавляется к виду карты в месте расположения аннотации. Это может быть так же просто, как подкласс UIImageView.

Затем вам нужно будет реализовать метод MKMapViewDelegate mapView:viewForAnnotation:, Этот метод принимает аннотацию в качестве входных данных и возвращает MKAnnotationView.

Посмотрите документы Xcode на MKAnnoationView и mapView:viewForAnnotation: метод для получения дополнительной информации.

Другие вопросы по тегам