Настоящее местоположение пользователя swift - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в Swift, хочу показать местоположение пользователя на карте, я добавил MKMapView и добавил розетку, вот мой код:

import UIKit
import Foundation
import MapKit
import CoreLocation

class ViewController: UIViewController ,CLLocationManagerDelegate{

    @IBOutlet weak var map: MKMapView!
    let manager = CLLocationManager()

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

        let location = locations[0]

        let span: MKCoordinateSpan = MKCoordinateSpanMake(0.01,0.01)
        let myLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
        let region:MKCoordinateRegion = MKCoordinateRegionMake(myLocation, span)
        map.setRegion(region, animated: true)
        self.map.showsUserLocation = true
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        manager.delegate = self
        manager.desiredAccuracy = kCLLocationAccuracyBest
        manager.requestWhenInUseAuthorization()
        manager.startUpdatingLocation()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

Но когда я запускаю приложение на симуляторе, оно показывает мне другое место в США. Но я из другого места, которое даже близко не находится в США.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Ваш код в порядке, это потому, что вы запускаете его на симуляторе, выбираете Отладка -> Расположение симуляции -> Выберите другое местоположение, и вы увидите это место на экране

0 голосов
/ 19 ноября 2018

Потому что симулятор использует поддельное местоположение для целей тестирования. Вы также можете изменить это местоположение. Смотри на картинке (https://i.stack.imgur.com/2GN7x.png). Если вы работаете на реальном устройстве, оно показывает ваше текущее местоположение.

...