最近我一直在做一个小项目。我想快速复制snapchat map程序。基本上,我想在地图上显示一个引脚,该引脚指示程序在我的设备中的安装位置。我已经快速编写了一些代码,但我对此并不满意。任何建议将不胜感激。
import Foundation
import CoreLocation
import MapKit
class DiscoverViewController : UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var map: MKMapView!
let locationManager: CLLocationManager! = nil
override func viewDidLoad()
{
super.viewDidLoad()
//for use in background
self.locationManager.requestAlwaysAuthorization()
//for use in foreground
self.locationManager.requestWhenInUseAuthorization()
if (CLLocationManager.locationServicesEnabled())
{
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
}
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations:
[AnyObject]!) { var locValue:CLLocationCoordinate2D = manager.location.coordinate
println("locations = \(localValue.latitude) \(localValue.longitude)")
let center = CLLocationCoordinate2D(latitude: locValue.latitude, longitude:
locValue.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta:
0.01, longitudeDelta: 0.01))
self.map.setRegion(region, animated: true)
var currentLocation = CLLocation()
var locationLat = currentLocation.coordinate.latitude
var locationLong = currentLocation.coordinate.longitude
println("locations = \(locationLat) \(locationLong) \
(currentLocation.coordinate.latitude) \(currentLocation.coordinate.longitude)")
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println("Errore while updating location" + error.localizedDescription)
}
func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
<#code#>
}
}