2015-07-09 73 views
0

是否有另一种方法可以在不使用函数didUpdateLocations的情况下获取用户的经度和纬度。我只想这样做一次,并在视图加载时设置初始区域,而不是每次更新用户的位置。没有didUpdateLocations获取用户Lat和Lng的替代方法?

我知道我可以用下面的代码得到用户的Lat和Lng,但是有没有其他的选择?

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

    var userLocation:CLLocation = locations[0] as CLLocation 

    var latitude:CLLocationDegrees = userLocation.coordinate.latitude 

    var longitude:CLLocationDegrees = userLocation.coordinate.longitude 

    var latDelta:CLLocationDegrees = 0.01 

    var lonDelta:CLLocationDegrees = 0.01 

    var span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta) 

    var location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude) 

    var region:MKCoordinateRegion = MKCoordinateRegionMake(location, span) 

    myMap.setRegion(region, animated: true) 

} 

回答

0

适用于iOS 9:CLLocationManager.requestLocation()。此API仅供您使用 - 这是一种在不打开连续追踪的情况下在谨慎的时间获取位置的方法。

请参阅this page预览它的工作原理。

在iOS 8及更低版本中,我不知道API。

+0

那么糟透了 –

相关问题