快速呈现用户位置

Posted

技术标签:

【中文标题】快速呈现用户位置【英文标题】:Present user location swift 【发布时间】:2018-11-19 19:17:48 【问题描述】:

我是 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.
    



但是当我在模拟器上运行应用程序时,它会显示美国的其他一些位置。但我来自另一个甚至不靠近美国的地方。

【问题讨论】:

你在电脑上的模拟器上运行它吗? 如果您在真实设备上构建应用程序,您的代码是正确的。但是您需要为模拟器设置您的位置。在模拟器顶部菜单中,选择调试,然后找到位置部分并设置自定义位置 @HastiRanjkesh 好的,谢谢 【参考方案1】:

您的代码很好,那是因为您在模拟器上运行它,选择调试-->模拟位置-->选择其他位置,您将在屏幕上看到该位置

【讨论】:

【参考方案2】:

因为模拟器使用虚假位置进行测试。您还可以更改该位置,请参见图片中的 (https://i.stack.imgur.com/2GN7x.png)。 如果您在实际设备上运行,它会显示您当前的位置。

【讨论】:

以上是关于快速呈现用户位置的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Maps API 查找两个位置之间的路线和距离并将其呈现在表格中

快速显示用户位置

获得快速准确位置的最佳方式[关闭]

根据用户位置动态更改页面内容

React-native - 基于用户位置的drawerLabel

快速处理位置权限