我对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位置。它成功地将我带到指定的坐标,它可以正确缩放,并将地图显示为排版地图。
所以我的问题:
我做错了是什么让我现在的位置没有出现? (它永远不会要求获得许可)
如何让地图显示在后台?就像我将填充添加到顶部所以我可以通过故事板添加一个按钮,但按钮没有显示。
全部谢谢!
答案 0 :(得分:1)
模拟器上的位置并不总是有效,您可以:
答案 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设置默认位置。有关如何在运行期间设置位置的详细信息,请参阅此处。