我尝试使用地图构建应用,并且希望在标记中包含其他信息。文档仅提供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

例如,我想将rating字段添加到每个标记中,以显示该地点的平均评分。

我怎样才能做到这一点 ?

最佳答案

Google Maps SDK在标记对象上包含userData字段,请参见link

在您的示例中,这就是下面分配数据的样子。

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

customData类是这样的。
class customData{
    var starRating: Int
    init(starRating rating: Int) {
        starRating = rating
    }
}

要访问您的用户数据,只需从标记对象中检索它即可。
let mRating = (london.userData as! customData).starRating

10-08 06:09