0
如何將自定義數據添加到Google Maps for iOS中的GMSGroundOverlay圖片?我用內置的「marker.userData」點擊標記時成功地傳遞了標記上的數據,但地面覆蓋層沒有該屬性?如何添加自定義數據以覆蓋Google Maps for iOS?
如何將自定義數據添加到Google Maps for iOS中的GMSGroundOverlay圖片?我用內置的「marker.userData」點擊標記時成功地傳遞了標記上的數據,但地面覆蓋層沒有該屬性?如何添加自定義數據以覆蓋Google Maps for iOS?
好吧,我想到了這一點,如果它對任何人都有幫助。不知道這是否是這樣做的最佳方式,但它有效。
1)予延長GMSGroundOverlay類在地圖的主.swift文件
extension GMSGroundOverlay {
private struct customData {
static var userData:Any? = nil
}
var userData:Any? {
get {
return customData.userData
}
set {
customData.userData = newValue
}
}
}
2.)我通過在重疊的數據被添加之前疊加到地圖
let overlayData:[String:Any] = ["id":id,"html":html,"picture":picture,"photos":photos]
overlay.userData = overlayData
3)我接收到的數據被點擊時覆蓋
func mapView(_ mapView: GMSMapView, didTapOverlay overlay: GMSGroundOverlay) -> Bool {
print("# You tapped overlay with data: ")
for (key,value) in overlay.userData as! [String:Any] {
print("# \(key) = \(value)")
}
return false
}