我尝试使用地图构建应用,并且希望在标记中包含其他信息。文档仅提供2个属性title
和snippet
。看起来像这样
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