Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- override func viewDidLoad() {
- super.viewDidLoad()
- //Setting up the Location Manager.
- locationManager.delegate = self
- locationManager.desiredAccuracy = kCLLocationAccuracyBest
- locationManager.requestWhenInUseAuthorization()
- locationManager.startUpdatingLocation()
- //Showing user location on the map as a blue dot.
- self.theMap.showsUserLocation = true
- //Setting the delegate for the map view.
- self.theMap.delegate = self
- }
- func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
- //Getting the last recorded location.
- let location = locations.last
- let ceter = CLLocationCoordinate2D(latitude: (location?.coordinate.latitude)!, longitude: (location?.coordinate.longitude)!)
- //Setting the region of the map.
- let region = MKCoordinateRegion(center: ceter, span: MKCoordinateSpanMake(0.01, 0.01))
- //Assigning the region to the map.
- self.theMap.setRegion(region, animated: true)
- //Stop updating the location.
- self.locationManager.stopUpdatingLocation()
- }
- func mapView(mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
- //Getting the center coordinate of the screen.
- let thecenter = mapView.centerCoordinate
- //Storing latitude & longitude in seperate variables.
- let centerLat = thecenter.latitude
- let centerlon = thecenter.longitude
- //Converting CLLocationCoordinate2D to CLLocation.
- let movedMap: CLLocation = CLLocation(latitude: centerLat, longitude: centerlon)
- //Performing Reverse GeoCoding to retrieve address from Coordinates.
- CLGeocoder().reverseGeocodeLocation(movedMap) { (placemarks, error) -> Void in
- //Checking for error.
- if(error != nil) {
- print(error)
- }else{
- //Taking the first coordinates among the lot & storing in variable 'p'.
- if let p = placemarks?.last {
- //Unwrapping Optional Strings.
- let roadno = p.subThoroughfare ?? ""
- //Checking if subThoroughfare exists.
- if(p.subThoroughfare != nil) {
- //Unwrapping Optional Strings.
- let thoroughfare = p.thoroughfare ?? ""
- let subLocality = p.subLocality ?? ""
- let locality = p.locality ?? ""
- let administrativeArea = p.administrativeArea ?? ""
- let postalCode = p.postalCode ?? ""
- let country = p.country ?? ""
- let address = " (roadno) r (thoroughfare) r (subLocality) r (locality) (administrativeArea) (postalCode) r (country)"
- print(address)
- //Assigning the address to the address label on the map.
- self.addressLabel.text = " (roadno) r (thoroughfare) r (subLocality) r (locality) (administrativeArea) (postalCode) r (country)"
- }else{
- //Unwrapping Optional Strings.
- let thoroughfare = p.thoroughfare ?? ""
- let subLocality = p.subLocality ?? ""
- let locality = p.locality ?? ""
- let administrativeArea = p.administrativeArea ?? ""
- let postalCode = p.postalCode ?? ""
- let country = p.country ?? ""
- let address = " (roadno) r (thoroughfare) r (subLocality) r (locality) (administrativeArea) (postalCode) r (country)"
- print(address)
- //Assigning the address to the address label on the map.
- self.addressLabel.text = " (thoroughfare) r (subLocality) r (locality) (administrativeArea) (postalCode) r (country)"
- }
- }
- }
- }
- }
- override func viewDidLoad() {
- super.viewDidLoad()
- let coordinate:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: 0, longitude: 0)
- let span = MKCoordinateSpanMake(100, 80)
- let region = MKCoordinateRegionMake(coordinate, span)
- self.theMap.setRegion(region, animated: true)
- //Setting up the Location Manager.
- locationManager.delegate = self
- locationManager.desiredAccuracy = kCLLocationAccuracyBest
- locationManager.requestWhenInUseAuthorization()
- locationManager.startUpdatingLocation()
- //Showing user location on the map as a blue dot.
- self.theMap.showsUserLocation = true
- //Setting the delegate for the map view.
- self.theMap.delegate = self
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement