【问题标题】:GMS Map View always showing EuropeGMS 地图视图始终显示欧洲
【发布时间】:2016-05-16 09:21:55
【问题描述】:

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

这是地图视图的代码:

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

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

【问题讨论】:

  • 确保没有覆盖纬度和经度
  • @Sampath Duddu 我遇到了同样的问题。你是怎么解决这个问题的?
  • 自古以来就是如此。请告诉我你是怎么解决的。

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


【解决方案1】:

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

像这样-

【讨论】:

  • 问题是我没有使用当前位置。我正在使用一个特定的位置,但它仍然无法正常工作。
【解决方案2】:

您也可以在模拟器上进行测试,并且无需输入 lat-long 即可更改位置 为此,您需要从 Xcode 更改位置(控制台上方请查看以下屏幕截图

)

【讨论】:

  • 是的,但我没有使用我当前的位置。我正在使用具有特定纬度和经度的特定位置。
  • 那么你需要在模拟器上手动输入 lat-long 或者你可以在代码中将其设置为默认位置
【解决方案3】:

这可能是因为您将 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
}

检查这些相关问题:

【讨论】:

    【解决方案4】:

    您甚至在设置委托之前就设置了视图(因此您的代码甚至没有附加到您的 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多