添加图像以映射注释(Swift)

时间:2015-05-12 15:26:13

标签: ios swift dictionary annotations callout

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

我是Swift编程的初学者,我一直在this tutorial工作,但我无法在网上找到任何可以帮助您实现图像的内容,大多数指南都使用了Objective 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
    }
}

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。

MKAnnotation是一个抽象对象,用于存储有关地图注释的信息。

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

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

有关详细信息,请参阅MKAnnoationView上的Xcode文档和mapView:viewForAnnotation:方法。