Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift中将Google地图添加到视图_Swift_Google Maps_Google Maps Sdk Ios - Fatal编程技术网

在Swift中将Google地图添加到视图

在Swift中将Google地图添加到视图,swift,google-maps,google-maps-sdk-ios,Swift,Google Maps,Google Maps Sdk Ios,我面临以下困境。 我在项目中创建了一个2视图(GMContainer和GMHolder)。我想让GMHolder在他的所有视图中显示谷歌地图 不幸的是,我只能在整个视图的中间添加一个谷歌地图视图,无法在我创建的视图中实现。另外,我不知道要将什么作为框架添加到地图视图中。我尝试创建一个新的CGRect并添加视图的值,添加我的视图,但id似乎没有做到这一点。。。 关于如何更改最后一行以使Google地图显示在整个GMHolder上,有什么提示吗 let GMContainer : UIVie

我面临以下困境。 我在项目中创建了一个2视图(GMContainer和GMHolder)。我想让GMHolder在他的所有视图中显示谷歌地图

不幸的是,我只能在整个视图的中间添加一个谷歌地图视图,无法在我创建的视图中实现。另外,我不知道要将什么作为框架添加到地图视图中。我尝试创建一个新的CGRect并添加视图的值,添加我的视图,但id似乎没有做到这一点。。。 关于如何更改最后一行以使Google地图显示在整个GMHolder上,有什么提示吗

    let GMContainer : UIView = {
       let view = UIView()
        view.backgroundColor = .white
        view.layer.cornerRadius = 25
        return view
    }()

    var GMHolder : UIView = {
        let view = UIView()
        view.layer.cornerRadius = 25
        return view
    }()

 func setupUI() {
        GMContainer.translatesAutoresizingMaskIntoConstraints = false
        GMHolder.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(GMContainer)
        view.addSubview(GMHolder)


        GMContainer.topAnchor.constraint(equalTo: categoryBox.bottomAnchor , constant: 32).isActive = true
        GMContainer.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 32).isActive = true
        GMContainer.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -32).isActive = true
        GMContainer.heightAnchor.constraint(equalToConstant: 450).isActive = true

        GMHolder.topAnchor.constraint(equalTo: GMContainer.topAnchor , constant: 40).isActive = true
        GMHolder.leadingAnchor.constraint(equalTo: GMContainer.leadingAnchor, constant: 24).isActive = true
        GMHolder.trailingAnchor.constraint(equalTo: GMContainer.trailingAnchor, constant: -24).isActive = true
        GMHolder.heightAnchor.constraint(equalToConstant: 300).isActive = true

//GM View Code

                var mapView : GMSMapView


        let camera = GMSCameraPosition.camera(withLatitude: 37.321262, longitude: -122.378945, zoom: 10)
        mapView = GMSMapView.map(withFrame: CGRect(x: GMHolder.frame.origin.x, y: GMHolder.frame.origin.y , width: 300, height: 300), camera: camera)
     //   mapView.center = self.view.center

        view.addSubview(mapView)
       GMHolder = mapView


正如您所看到的,它不受视图的限制。

Init在GMHolder中,它似乎做到了这一点

 var GMHolder : GMSMapView = {
        GMSServices.provideAPIKey(API_KEY)
         let camera = GMSCameraPosition.camera(withLatitude: 37.321262, longitude: -122.378945, zoom: 12)
        let view = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        view.layer.cornerRadius = 25
        view.backgroundColor = .black
        return view
    }()