GMS Map View始终显示欧洲

时间:2016-05-16 09:21:56

标签: ios swift google-maps google-maps-sdk-ios gmsmapview

我正在尝试使用Google Maps SDK显示我当前位置的地图(伯克利,加利福尼亚州)作为焦点,但无论我输入什么lat / lon,它总是显示欧洲,如下所示:< / p>

enter image description here

以下是地图视图的代码:

    let camera = GMSCameraPosition.cameraWithLatitude(37.8750360, longitude: -122.2573240, zoom: 1)
    mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
    mapView.myLocationEnabled = true
    mapView.delegate = self

我在我的应用程序的其他部分做了非常类似的事情,但从来没有遇到过问题。如果有人知道如何解决这个问题,请告诉我!感谢

4 个答案:

答案 0 :(得分:0)

请确保您在真实设备上进行测试。不是模拟器, 如果您使用模拟器而不是手动输入纬度和经度。

喜欢这个 -

enter image description here

答案 1 :(得分:0)

您也可以在模拟器上进行测试,您可以在不输入lat-long的情况下更改位置 为此,您需要从Xcode更改位置(控制台上方请膛线以下屏幕截图

enter image description here

答案 2 :(得分:0)

也许这是因为您将mapView的框架设置为CGRectZero。这可能会导致地图的高度和零宽度为零。

基于此tutorial的示例:

override func viewDidLoad()
{
let camera: GMSCameraPosition = GMSCameraPosition.cameraWithLatitude(37.8750360, longitude: -122.2573240, zoom: 1)
mapView = GMSMapView.mapWithFrame(self.view.frame, camera: camera)
mapView.camera = camera
}

检查以下相关问题:

答案 3 :(得分:0)

您甚至在设置代理之前就已经设置了视图(因此您的代码甚至没有附加到您的mapView实例)。修复如下:

1:确保您已为班级

定义了GMSMapViewDelegate

2:先设置代表

mapView.delegate = self
mapView.myLocationEnabled = true
let camera = GMSCameraPosition.cameraWithLatitude(37.8750360, longitude: -122.2573240, zoom: 1)
mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)