0
iOS向けGoogleマップのGMSGroundOverlay画像にカスタムデータを追加するにはどうすればよいですか?組み込みの「marker.userData」でクリックしたときにマーカー上のデータを正常に渡していますが、地上オーバーレイではそのプロパティはありませんか?iOS向けGoogleマップでオーバレイにカスタムデータを追加するにはどうすればよいですか?
iOS向けGoogleマップのGMSGroundOverlay画像にカスタムデータを追加するにはどうすればよいですか?組み込みの「marker.userData」でクリックしたときにマーカー上のデータを正常に渡していますが、地上オーバーレイではそのプロパティはありませんか?iOS向けGoogleマップでオーバレイにカスタムデータを追加するにはどうすればよいですか?
他の人にとって参考になった場合は、これを理解しました。これを実行する最善の方法であるかどうかは分かりませんが、機能します。
1)私はオーバーレイが
をマッピングするために追加される前に、私は、オーバーレイ上のデータを渡す)extension GMSGroundOverlay {
private struct customData {
static var userData:Any? = nil
}
var userData:Any? {
get {
return customData.userData
}
set {
customData.userData = newValue
}
}
}
2.マップのメイン.swiftファイルにGMSGroundOverlayクラスを拡張
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
}