当前位置不起作用

时间:2016-09-08 22:26:15

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

我对iOS开发和使用google maps sdk都很陌生。我正在使用Xcode作为我当前的项目。我已将API密钥添加到适当的位置。

到目前为止,我有这个:

导入UIKit 导入GoogleMaps 导入GooglePlaces

类ViewController:UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func loadView() {
    let camera = GMSCameraPosition.cameraWithLatitude(36.2108, longitude: -81.6774, zoom: 15.0)
    let mapView = GMSMapView.mapWithFrame(.zero, camera: camera)
    mapView.myLocationEnabled = true
    if let mylocation = mapView.myLocation {
        print("User's location: \(mylocation)")
    } else {
        print("User's location is unknown")
    }
    self.view = mapView
    mapView.mapType = kGMSTypeTerrain
    mapView.indoorEnabled = true
    let mapInsets = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 0.0)
    mapView.padding = mapInsets

    //Creates a marker in the center of the map.
    //let marker = GMSMarker()
    //marker.position = CLLocationCoordinate2D(latitude: 36.2108, longitude: -81.6774)
    //marker.title = "ASU"
    //marker.snippet = "Boone, NC"
    //marker.map = mapView
    }

}

我的问题是,当我使用模拟器运行应用程序时,它不会在任何地方显示我当前的GPS位置。它成功地将我带到指定的坐标,它可以正确缩放,并将地图显示为排版地图。

所以我的问题:

我做错了是什么让我现在的位置没有出现? (它永远不会要求获得许可)

如何让地图显示在后台?就像我将填充添加到顶部所以我可以通过故事板添加一个按钮,但按钮没有显示。

全部谢谢!

2 个答案:

答案 0 :(得分:1)

模拟器上的位置并不总是有效,您可以:

  1. 尝试通过模拟器重置模拟器的内容>重置内容和设置
  2. 更改模拟器
  3. 确保在模拟器模拟器中添加了自定义lat和long>调试>位置>自定义位置

答案 1 :(得分:0)

mapView中没有填充的问题是因为您将mapView设置为主视图(self.view = mapView),并且由于此地图覆盖整个屏幕的区域。

尝试从主视图添加带有填充的子视图,然后将地图视图分配给子视图。像这样 -

let subView = UIView(frame: CGRect(x: 0, y: 100, width: self.view.frame.width, height: self.view.frame.height-100))

subView = mapView

self.view.addSubview(subView)

另外,对于位置问题,请尝试为xcode设置默认位置。有关如何在运行期间设置位置的详细信息,请参阅此处。

https://developer.apple.com/library/mac/recipes/xcode_help-scheme_editor/Articles/simulating_location_on_run.html