Swift 4, Xcode 9: получение и отображение местоположения пользователя - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь получить и отобразить местоположение пользователя, но симулятор загрузит только страну, в которой я нахожусь. Я установил необходимые разделы info.plist (конфиденциальность - местоположение, когда используется и всегда), связал mapView вMain.storyoard делегату (перетаскиваемый элемент управления в View Controller Icon), прикрепил IBOutlet (проверил его, чтобы убедиться, что он правильно подключен) и записал этот код в viewController.swift:

import UIKit
import CoreLocation
import MapKit

class ViewController: UIViewController, CLLocationManagerDelegate {
    @IBOutlet weak var mapView: MKMapView!
    var locationManager = CLLocationManager()

    func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        mapView.mapType = MKMapType.standard
        let location = locations[0]
        let myLocation: CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
        let span = MKCoordinateSpanMake(0.05, 0.05)
        let region = MKCoordinateRegion(center: myLocation, span: span)
        mapView.setRegion(region, animated: true)
        self.mapView.showsUserLocation = true
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        self.locationManager.requestWhenInUseAuthorization()

        if CLLocationManager.locationServicesEnabled() {
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyBest
            locationManager.startUpdatingLocation()
        }
    }

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

}

Япросто намочил ноги с MapKit, и эта проблема удерживала меня в течение довольно долгого времени.Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 26 мая 2018

Пожалуйста, используйте устройство iPhone, чтобы получить текущее местоположение.В симуляторе вы должны установить местоположение, а затем получить это местоположение.Так что можете сделать это легко с помощью устройства.Ваш код будет работать с реальным устройством.

Если вы хотите проверить его с помощью симулятора, выполните следующие действия: https://medium.com/@abhimuralidharan/location-simulation-in-xcode-ff7db9042710

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...