<code>import UIKit
import CoreLocation;
class
UserLocation: NSObject {
var
userPosition: CLLocationCoordinate2D?
let manager = CLLocationManager()
func startUserlocation() {
manager.delegate = self;
manager.desiredAccuracy = kCLLocationAccuracyBest;
manager.distanceFilter = 50 ;
if
#available(iOS 8, *) {
print
(
"request"
);
manager.requestAlwaysAuthorization();
}
if
!CLLocationManager.locationServicesEnabled() {
print
(
"设备没开启定位"
);
return
;
}
manager.startUpdatingLocation();
print
(
"start"
);
}
}
extension UserLocation: CLLocationManagerDelegate {
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
print
(locations)
if
(locations.
count
<= 0 ){
return
;
}
print
(
"定位定位"
)
let userPos = locations.last!
as
CLLocation
userPosition = userPos.coordinate
manager.stopUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
print
(status);
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print
(error);
}
}</code>