Search Your Question

Showing posts with label Location. Show all posts
Showing posts with label Location. Show all posts

What is accuracy of GPS location?

Ans : 

CLLocationAccuracy class provides accuracy constant.

kCLLocationAccuracyKilometer:
Accurate to the nearest kilometer.


kCLLocationAccuracyBestForNavigation:
The highest possible accuracy that uses additional sensor data to facilitate navigation apps. 
kCLLocationAccuracyBest:
The best level of accuracy available.
kCLLocationAccuracyNearestTenMeters:
Accurate to within ten meters of the desired target. 
kCLLocationAccuracyHundredMeters:
Accurate to within one hundred meters.
kCLLocationAccuracyThreeKilometers:
Accurate to the nearest three kilometres.



How you show current location blue dot on map?

Ans :

self.mapView.myLocationEnabled = YES to hide the blue dot.
set a class to implement CLLocationManagerDelegate to track user's location.

https://stackoverflow.com/a/40058423

Difference between network location and gps location.

Ans : 

Network location usually refers to cellular location, or wifi location. They are less accurate then GPS (Global Positioning System - satellite based) location. When the app cannot obtain GPS location (probably because the target device is inside a building), the less accurate network location is obtained and uploaded to the map page.



How to find current location?

Ans : 

Framework : MapKit
Class : CLLocationManager
Delegate : CLLocationManagerDelegate

Write NSLocationAlwaysUsageDescription and also its description in info.plist file.

Code :

@IBAction func setCurrentLocation(sender: AnyObject) {
        if CLLocationManager.locationServicesEnabled() {
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyBest

            if self.locationManager.respondsToSelector(#selector(CLLocationManager.requestAlwaysAuthorization)) {
                locationManager.requestAlwaysAuthorization() // request for authorisation for first time when app open
            } else {
                 locationManager.startUpdatingLocation()
            }
        }
    }


 //Updated location

    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

//Get last updated location(current)

        let location = locations.last! as CLLocation

        let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)

        let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.20, longitudeDelta: 0.20))

//Set region of current location in map view with zooming

        self.mpView.setRegion(region, animated: true)

//Show current location (blue dot) on map
        self.mpView.showsUserLocation = true

    }