我一直在尝试制作自己的mapView,以显示您当前的位置,因此我去观看 Vea Software&#39> 视频链接found here并执行了以下步骤
写了代码:
//
// ViewController.swift
// MapView
//
// Created by HTML SUES ADMIN on 10/5/15.
// Copyright © 2015 HTML SEUS. All rights reserved.
//
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate
{
@IBOutlet weak var mapView: MKMapView!
let locationManager = CLLocationManager()
override func viewDidLoad()
{
super.viewDidLoad()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.requestAlwaysAuthorization()
self.locationManager.startUpdatingLocation()
self.mapView.showsUserLocation = true
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Location Delegate Methods
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 1))
self.mapView.setRegion(region, animated: true)
self.locationManager.stopUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("Errors: " + error.localizedDescription)
}
}
意识到我犯了一个错误并在
下添加了这段代码super.viewDidLoad()
我补充说,
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.requestAlwaysAuthorization()
错误:操作无法完成。 (kCLErrorDomain错误0。)
错误:操作无法完成。 (kCLErrorDomain错误0。)
是的2,我认为是因为
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.requestAlwaysAuthorization()
但也许是因为该位置不在iPhone模拟器中,因此它会出错。
所以有两件事可以帮助我:
如果有办法,如何查找当前位置?
为什么它只适用于第一个 View Controller 而不是第二个?它嵌入在导航控制器中。
答案 0 :(得分:1)
好的开始我知道这回答我自己的问题很奇怪但经过进一步的研究我得出了这个答案
错误:操作无法完成。 (kCLErrorDomain错误0。)=如果您选中了Scheme / Edit Scheme / Options / Allow Location Simulation但没有设置默认位置,则会出现此错误。
没有设置默认位置。 - 感谢所有帮助过的人