ios - iOS 上未调用 GMSMapViewDelegate 函数

标签 ios swift google-maps

我已经设置了实现的GMSMapViewDelegate,将其设置为self,但我仍然无法让任何委托(delegate)函数工作。以下是我的代码示例:

class UserViewController: UIViewController, CLLocationManagerDelegate, GMSMapViewDelegate {

    var mapView: GMSMapView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        if mapView == nil {
            mapView = GMSMapView()
        }

        mapView.delegate = self

    }

    func mapView(mapView: GMSMapView, didChangeCameraPosition position: GMSCameraPosition) {
        print(position)
    }

    func mapView(mapView: GMSMapView, willMove gesture: Bool) {
        print(gesture)
    }

    func mapView(mapView: GMSMapView, idleAtCameraPosition position: GMSCameraPosition) {
        print(position)
    }

mapView 函数都没有打印任何内容。我已经检查了代表并知道它设置正确。我错过了什么吗?

最佳答案

所以我认为在之后设置委托(delegate)
如果mapView == nil { map View = GMSMapView() }
是正确的,但事实并非如此。我在后面的函数中设置了实际边界
mapView = GMSMapView.mapWithFrame(CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height), 相机: 相机) 一旦我放置了 mapView.delegate = self 之后,它就起作用了!

关于ios - iOS 上未调用 GMSMapViewDelegate 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39066714/

相关文章:

ios - 调整 UIButton 的 imageView 属性

swift - 核心数据实体自动生成的类未出现在自动完成中

swift - 为什么 Swift 中的过滤器会迭代集合两次?

swift - 从 UTC 转换为本地时区会给出错误的结果

jquery - 一页上有多个谷歌地图

Javascript 基本原型(prototype) - 无法更新属性

ios - 即使使用解决方案集更新 Swift 后也无法使用 withMemoryRebound

ios - App 中的非公开 API,__strlcat_chk,__strlcpy_chk

ios - 如何真正执行CoreData重量级迁移

版本中的 Android Google Maps API 无法正常工作