ios - 如何将自定义数据添加到标记(Google Maps API SWIFT)

标签 ios swift google-maps google-maps-markers

我正在尝试找出一种方法来为我的标记添加自定义属性/数据。

我用过的

  • 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/

相关文章:

iphone - 如果没有 Default.png 文件,我的 iPhone 应用程序会被批准吗?

iphone - iOS5 openAL 静音开关和音量控制

ios - 带有可折叠侧边栏菜单的 UITapGestureRecognizer Swift

swift - Realm 结果中的属性为零

ios - 快速替换 CGContextAddEllipseInRect

javascript - 从每个 2 个标记 javascript 显示更多方向

android - MapView google maps api V2 看起来空白,只显示带有 +/- 按钮的网格

ios - 奇怪的 plist 行为在第一个值上返回 null 而在应该为 12 时返回 13 结果

ios - 无法存档项目

google-maps - 数据指向彩色 map