如何判断用户是否在特定位置?

时间:2016-06-20 19:36:11

标签: ios swift core-location

基本上我需要做的是找出用户是否在特定的地方(场地的IE)。如果用户是,则允许访问特定的ViewController。

我一直在高低寻找网上这个问题的答案,令人惊讶的是我没有找到任何东西。我会说我对iOS开发很新。

我不像Ray Wenderlich教程那样需要像geofencing这样复杂的东西,而且我不需要在后台运行它。我也不需要知道他们是进入还是离开。当用户点击按钮时,它们是否在该区域内。

我已经获得了使用CoreLocation获取用户位置的能力,但我对如何确定用户是否位于特定位置感到困惑。理想情况下,我希望半径约为5英里(这是一个很大的位置)。

2 个答案:

答案 0 :(得分:0)

如果您拥有场地的纬度和经度,只需为此创建一个CLLocation对象,并查看该用户离该位置的距离。

// get the current user location, then...

let MinDistance = 100.0 // meters
let distance = venueLocation.distanceFromLocation(userLocation)
if distance < MinDistance {
    // I'm close enough to the venue!
}

答案 1 :(得分:0)

如果您拥有用户的位置以及场地的位置,您可以执行以下操作:

let radius: Double = 5 // miles

let userLocation = CLLocation(latitude: 51.499336, longitude: -0.187390)
let venueLocation = CLLocation(latitude: 51.500909, longitude: -0.177366)

let distanceInMeters = userLocation.distanceFromLocation(venueLocation)
let distanceInMiles = distanceInMeters * 0.00062137

if distanceInMiles < radius {
    // user is near the venue
}