Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Swift3 在UIView中显示google地图_Swift3_Xcode8 - Fatal编程技术网

Swift3 在UIView中显示google地图

Swift3 在UIView中显示google地图,swift3,xcode8,Swift3,Xcode8,我在iOS上使用谷歌地图 这是我的代码: class ViewController: UIViewController { @IBOutlet weak var myMapView: GMSMapView! override func viewDidLoad() { super.viewDidLoad() // Create a GMSCameraPosition that tells the map to display the

我在iOS上使用谷歌地图

这是我的代码:

class ViewController: UIViewController {
    @IBOutlet weak var myMapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.
        let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 17.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    mapView.mapType =  .terrain
    self.view = mapView
    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368)
    marker.title = "my location"
    marker.map = mapView
}
如何将地图附加到myMapView UIView? 有没有办法使标记标题始终显示


谢谢

您只需使用您创建的插座即可

class ViewController: UIViewController {
    @IBOutlet weak var myMapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.
        let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 17.0)
        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        mapView.isMyLocationEnabled = true
        mapView.mapType =  .terrain

        // CHANGE THIS
        self.myMapView = mapView

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368)
        marker.title = "my location"
        marker.map = mapView
    }

您只需使用您创建的插座即可

class ViewController: UIViewController {
    @IBOutlet weak var myMapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.
        let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 17.0)
        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        mapView.isMyLocationEnabled = true
        mapView.mapType =  .terrain

        // CHANGE THIS
        self.myMapView = mapView

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368)
        marker.title = "my location"
        marker.map = mapView
    }

要在UIView中放置google地图,则需要将UIView对象拖到画布上,并将其子类化为GMSMapView,然后在代码中为其创建一个出口-然后可以使用以下代码对其进行初始化:

   @IBOutlet weak var miniview: GMSMapView!

   override func viewDidLoad() {
        super.viewDidLoad()
        let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 6.0)
        miniview.camera = camera
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368)
        marker.title = "my location"
        marker.map = miniview
    }

要在UIView中放置google地图,则需要将UIView对象拖到画布上,并将其子类化为GMSMapView,然后在代码中为其创建一个出口-然后可以使用以下代码对其进行初始化:

   @IBOutlet weak var miniview: GMSMapView!

   override func viewDidLoad() {
        super.viewDidLoad()
        let camera = GMSCameraPosition.camera(withLatitude: +31.75097946, longitude: +35.23694368, zoom: 6.0)
        miniview.camera = camera
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: +31.75097946, longitude: +35.23694368)
        marker.title = "my location"
        marker.map = miniview
    }

不明白你想做什么…2个问题。使地图上的标记始终显示,而不仅仅是单击。另一个问题。我有一个名为myMapView的UIView。视图是GMSMapView的一个类。我希望地图显示在UIView中,而不是直接显示在UIView控制器的视图中,这是我解决此问题的方法我不明白你想做什么…2个问题。使地图上的标记始终显示,而不仅仅是单击。另一个问题。我有一个名为myMapView的UIView。视图是GMSMapView的一个类。我希望地图显示在UIView中,而不是直接显示在UIView控制器的视图中,这是我解决此问题的方法。如果您检查代码,“self.myMapView=mapView”实际上使myMapView和mapView都是同一个实例,因此您对其中一个所做的任何操作都将应用于另一个实例。(因为事实上是一样的)。OP代码的问题是,他将其分配给ViewController的视图,而不是实际的GMSMapView。不…,如果您检查代码,“self.myMapView=mapView”实际上使myMapView和mapView都是同一个实例,因此您对其中一个所做的任何操作都将应用于另一个实例。(因为事实上是一样的)。OP代码的问题在于,他将其分配给ViewController的视图,而不是实际的GMSMapView。