Swift - 如何在Google Maps SDK中为标记添加自定义字段?

Ale*_*y K 1 google-maps ios swift

我尝试使用地图构建应用程序,我想在标记中添加其他信息.文档仅提供2个属性titlesnippet.看起来像这样

let position = CLLocationCoordinate2DMake(51.5, -0.127)
let london = GMSMarker(position: position)
london.title = "London"
london.snippet = "Population: 8,174,100"
london.map = mapView
Run Code Online (Sandbox Code Playgroud)

例如,我想为rating每个标记添加字段以显示地点的平均评级.

我怎样才能做到这一点 ?

Dun*_*gan 5

Google Maps SDK userData在标记对象上包含一个字段,请参阅链接.

使用您的示例,这就像分配数据一样.

let mCustomData = customData(starRating: 10)  // init with a rating of 10

let position = CLLocationCoordinate2DMake(51.5, -0.127)
let london = GMSMarker(position: position)
london.title = "London"
london.snippet = "Population: 8,174,100"
london.userData = mCustomData
london.map = mapView
Run Code Online (Sandbox Code Playgroud)

这个customData班级就是这样的.

class customData{
    var starRating: Int
    init(starRating rating: Int) {
        starRating = rating
    }
}
Run Code Online (Sandbox Code Playgroud)

要访问您的用户数据,只需从标记对象中检索它.

let mRating = (london.userData as! customData).starRating
Run Code Online (Sandbox Code Playgroud)