gpt4 book ai didi

ios - 为什么 GMSPolygon 不响应水龙头?

转载 作者:行者123 更新时间:2023-11-28 10:56:15 27 4
gpt4 key购买 nike

我的 Google map 出现在我的 ios 应用程序中,我的多边形已成功绘制在 map 上,在我的 View Controller 中使用以下代码:

let camera = GMSCameraPosition.camera(withLatitude: 37.886080, longitude: -122.137585, zoom: 7.0)
mapView = GMSMapView.map(withFrame: CGRect(x: screenWidth*0.03, y: 245, width: screenWidth*0.94, height: screenHeight*0.45), camera: camera)
self.view.addSubview(mapView)

let rect = GMSMutablePath()
rect.add(CLLocationCoordinate2D(latitude: 37.886080, longitude: -122.137585))
rect.add(CLLocationCoordinate2D(latitude: 37.899356, longitude: -122.130203))
rect.add(CLLocationCoordinate2D(latitude: 37.900101, longitude: -122.104282))
rect.add(CLLocationCoordinate2D(latitude: 37.879644, longitude: -122.101192))
let polygon = GMSPolygon(path: rect)
polygon.fillColor = UIColor.flatWatermelonDark.withAlphaComponent(0.5)
polygon.strokeColor = .black
polygon.strokeWidth = 2
polygon.isTappable = true
polygon.map = mapView

我还在我的 View Controller 中实现了 GMSMapViewDelegate,并具有以下功能作为我的 View Controller 的一部分:

func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) {
print("Jesus loves you")
print("User Tapped Layer: \(overlay)")

}

据我了解,因为我将多边形变量的 .isTappable 值设置为 true,当多边形被点击时,应该调用委托(delegate)方法并打印“耶稣爱你”和被点击的叠加层。当我点击多边形时没有这样的打印发生,这意味着没有调用 didTap 委托(delegate)方法。我的设置中是否遗漏了什么?

最佳答案

我是个十足的白痴。

没有在 viewDidLoad 中将 map View 的委托(delegate)属性设置为 self。

mapView.delegate = self

现在问题解决了!

关于ios - 为什么 GMSPolygon 不响应水龙头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43299870/

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