gpt4 book ai didi

ios - 在 Swift 中监听 InfowWindow 点击

转载 作者:搜寻专家 更新时间:2023-11-01 05:50:15 25 4
gpt4 key购买 nike

我知道可以在标记的信息窗口中捕捉点击。 I followed the documentation here .

所有都是用 Objective C 编写的,所以我尝试将其转换为 Swift,这是我的代码:

func mapView(_ mapView: GMSMapView, didTap InfoWindowOfMarker: GMSMarker) {
print("You tapped infowindow")

}

但这根本没有被解雇。方法有什么问题?

最佳答案

您需要使用 GMSMapView 的委托(delegate)以及一些预先设置,如下所示。

声明使用 GMSMapViewDelegate 方法并将委托(delegate)设置为 self:

class yourClassName: UIViewController,GMSMapViewDelegate

mapView?.delegate = self

检测信息窗口点击的方法:

func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) {
print("infowindow tapped")
}

检测GMSMarker点击的方法:

func mapView(mapView: GMSMapView, didTapMarker marker: GMSMarker) -> Bool {
print("tapped on marker")

if marker.title == "myMarker"{
print("handle specific marker")
}
return true
}

创建自定义信息窗口的方法:

func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
let infoWindow = Bundle.main.loadNibNamed("nibName", owner: self, options: nil).first as! ClassName
infoWindow.name.text = "title"
infoWindow.address.text = "relevant address"
infoWindow.photo.image = UIImage(named: "imageName")
return infoWindow
}

关于ios - 在 Swift 中监听 InfowWindow 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39833347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com