快速呈现用户位置
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 查找两个位置之间的路线和距离并将其呈现在表格中