首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLCircularRegion didEnterRegion不工作

CLCircularRegion didEnterRegion不工作
EN

Stack Overflow用户
提问于 2015-06-30 06:02:46
回答 1查看 995关注 0票数 2

我有一个GPX来模拟移动到坐标。我不能让CLCircularRegion无缘无故地开火。我试过把密码放哪儿。我用的是:

代码语言:javascript
复制
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)

我到处都放了这个。我把这个放进去了:

代码语言:javascript
复制
viewDidLoad 
viewWillAppear
viewDidAppear
mapViewDidFinishLoadingMap(mapView: MKMapView!
mapViewDidFinishRenderingMap(mapView: MKMapView!, fullyRendered: Bool)
locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!)

这是我的GPX文件:

代码语言:javascript
复制
<?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>

PrintlndidStartMonitoringRegion中工作,它将该区域的信息打印到日志中,但不会触发。似乎什么事都起作用了,这让我发疯了。这是我的完整程序。

代码语言:javascript
复制
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)
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 09:47:25

你一定在开玩笑吧。这是因为我在NSLocationWhenInUseUsageDescription中使用了NSLocationAlwaysUsageDescription而不是NSLocationAlwaysUsageDescription

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31130702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档