如何向标记添加自定义数据(Google Maps API SWIFT) [英] How to add custom data to marker (Google Maps API SWIFT)

查看:35
本文介绍了如何向标记添加自定义数据(Google Maps API SWIFT)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我使用的内容

  • Marker.Title(商店标题)
  • Marker.Snipket(存储对象ID)
  • Marker.Icon(商店图标)
  • Marker.userData(存储 图片)

要存储以在InfoWindow上显示的其他信息

  • 描述(字符串)

  • A数字(Int)

如果有更有效的方法来存储和检索要在信息窗口中显示的自定义数据/属性,那就太好了。目前,任何建议都是有价值的。

以下是我目前掌握的信息片段: 设置标记数据:

 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

这篇关于如何向标记添加自定义数据(Google Maps API SWIFT)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆