我正在尝试找出一种方法来为我的标记添加自定义属性/数据。
我用过的
- Marker.Title(商店标题)
- Marker.Snippet(商店对象 ID)
- Marker.Icon(商店图标)
- Marker.userData(存储 图片)
我想存储以显示在 InfoWindow 上的附加信息
描述(字符串)
一个数字(Int)
如果有更有效的方法来存储和检索自定义数据/属性以显示在信息窗口上,那就太好了。目前任何建议都是有值(value)的。
这是我目前拥有的片段: 设置标记数据:
marker.title = object["objectTitle"] as! String
marker.snippet = objecti.objectId
marker.icon = UIImage(named:"markerImage")
marker.userData = UIImage(data:imageData!)
信息窗口:
func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
var infoWindow :CustomInfoWindow = NSBundle.mainBundle().loadNibNamed("eventInfo", owner: self, options: nil)[0] as! CustomInfoWindow
infoWindow.eventTitle.text = marker.title
infoWindow.Image.image = marker.userData as? UIImage
marker.userData = UIImage(data:imageData!)
marker.snippet = object.objectId
return infoWindow
}
最佳答案
我创建了一个包含我需要的所有数据的结构,并将其放入 marker.userdata 中,因为它支持任何类型。
let data = structName(lat: place.lat, long: place.long) // initialize struct
marker.userData = data
像这样访问它:
let markerLat = (marker.userData as! structName).lat
let markerLong = (marker.userData as! structName).long
关于ios - 如何将自定义数据添加到标记(Google Maps API SWIFT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30794109/