基本上我需要做的是找出用户是否在特定的地方(场地的IE)。如果用户是,则允许访问特定的ViewController。
我一直在高低寻找网上这个问题的答案,令人惊讶的是我没有找到任何东西。我会说我对iOS开发很新。
我不像Ray Wenderlich教程那样需要像geofencing这样复杂的东西,而且我不需要在后台运行它。我也不需要知道他们是进入还是离开。当用户点击按钮时,它们是否在该区域内。
我已经获得了使用CoreLocation获取用户位置的能力,但我对如何确定用户是否位于特定位置感到困惑。理想情况下,我希望半径约为5英里(这是一个很大的位置)。
答案 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
}