错误的位置 - 位于旧金山而不是法国

时间:2014-08-23 09:23:35

标签: swift cllocationmanager

我在法国,当我尝试新的func locationManager功能时,我的地图视图会在旧金山找到我。有什么想法吗?

override func viewDidLoad() {
    super.viewDidLoad()   

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

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    let location = locations[locations.count-1] as CLLocation

    let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
    let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))

    self.map.setRegion(region, animated: true)
}

我正在使用模拟器。

2 个答案:

答案 0 :(得分:13)

iOS模拟器默认为美国 - San Fran,并不会估算您Mac的实际位置。

但是,您可以模拟移动甚至是某个特定位置:

在模拟器中的调试菜单 下,最后一个条目是"位置&#34 ;;这会给你一个子菜单:

  • 自定义位置
  • Apple Stores
  • 苹果
  • 城市自行车骑行
  • City Run
  • 高速公路大道
  • 自定义位置可让您输入纬度/经度值。

骑自行车,City Run和Freeway Drive模拟移动位置(当然在库比蒂诺)。

答案 1 :(得分:3)

除了伍德斯托克的答案,您还可以在方案中设置默认位置。它在运行/选项中。可以选择允许位置模拟和一系列可用于测试的标准默认值。如需更多选项,您可以将GPX文件添加到项目中。