将图像添加到映射注释(Swift)



我正在尝试创建一个使用MAPKIT的应用,我想在地图上创建注释,但是我正在努力将图像放在地图注释上。

我是Swift编程的初学者,我一直在本教程工作,但是我在网上找不到可以帮助您实现图像的任何地方,大多数指南都使用目标c。

这是我的注释类,在我的视图控制器中称为

注意:我有我的小图像,我想在我的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
    }
}

您在正确的轨道上。

mkannotation是一个抽象对象,可存储有关地图注释的信息。

现在,您需要创建一个自定义的MkannotationView子类。这是一个实际的视图对象,该对象将在注释的位置添加到地图视图中。它可以像UIimageView的子类一样简单。

然后,您需要实现MKMAPVIEWDELEGATE方法mapView:viewForAnnotation:。该方法将注释作为输入,并返回mkannotationView。

有关更多信息,请参见MKAnnoationViewmapView:viewForAnnotation:方法上的Xcode文档。

最新更新