![](/img/trans.png)
[英]How to differentiate between CLCircularRegion and CLBeaconRegion invoking didEnterRegion
[英]CLCircularRegion didEnterRegion not working
我有一個GPX,可以模擬到坐標的運動。 我無法讓CLCircularRegion一無所獲。 我試圖將代碼放到任何地方。 這是我正在使用的:
var center: CLLocationCoordinate2D = CLLocationCoordinate2DMake(37.33171100, -122.03018400)
var radius: CLLocationDistance = CLLocationDistance(300)
var identifier: String = "Destination"
let region = CLCircularRegion(center: center, radius: radius, identifier: identifier)
manager!.startMonitoringForRegion(region)
我已經把它放在任何地方。 我把它放在:
viewDidLoad
viewWillAppear
viewDidAppear
mapViewDidFinishLoadingMap(mapView: MKMapView!
mapViewDidFinishRenderingMap(mapView: MKMapView!, fullyRendered: Bool)
locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!)
這是我的GPX文件:
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="37.331711" lon="-122.030184">
<name>Apple</name>
</wpt>
<wpt lat="37.422455" lon="-122.084306">
<name>Google</name>
</wpt>
</gpx>
Println
在Println
工作, didStartMonitoringRegion
該區域的信息打印到日志中,但不會觸發。 似乎什么都沒有起作用,它使我發瘋。 這是我的完整程序。
import UIKit
import CoreLocation
import MapKit
class ViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate {
var mapView: MKMapView?
var manager: CLLocationManager?
override func viewDidLoad() {
super.viewDidLoad()
mapView = MKMapView(frame: CGRectMake(0.0, 0.0, view.frame.size.width, view.frame.size.height))
self.mapView!.delegate = self
mapView!.showsUserLocation = true
view.addSubview(mapView!)
}
func locationManager(manager: CLLocationManager!, didEnterRegion region: CLRegion!) {
println("Entered")
}
func locationManager(manager: CLLocationManager!, didStartMonitoringForRegion region: CLRegion!) {
println("Monitoring")
println(region)
}
func mapViewDidFinishLoadingMap(mapView: MKMapView!) {
manager = CLLocationManager()
manager!.delegate = self
manager!.desiredAccuracy = kCLLocationAccuracyBest
manager!.startUpdatingLocation()
var center: CLLocationCoordinate2D = CLLocationCoordinate2DMake(37.33171100, -122.03018400)
var radius: CLLocationDistance = CLLocationDistance(300)
var identifier: String = "Destination"
let region = CLCircularRegion(center: center, radius: radius, identifier: identifier)
manager!.startMonitoringForRegion(region)
}
}
你一定是在跟我開玩笑。 這是因為我在info.plist
使用了NSLocationWhenInUseUsageDescription
而不是NSLocationAlwaysUsageDescription
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.