- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个需要使用计时器每 10 分钟更新一次位置的屏幕。除此之外,它只需要在第一次加载时和 View 再次出现在用户面前时更新位置。一旦用户转到另一个 View ,它应该停止监视。
我有一个应该执行此操作的代码,但问题是 didUpdateLocations
方法在任何时候都没有被调用。此外, map 不显示当前位置(我使用模拟位置)。
我已经正确设置了权限,应用程序在设置为仅显示位置时运行良好。我需要这样做以减少电池消耗。
这是我的相关代码:
在viewDidLoad
中:
if #available(iOS 8.0, *) {
self.locationManager.requestAlwaysAuthorization()
}
self.locationManager.allowsBackgroundLocationUpdates = true
self.locationManager.distanceFilter = 1000
self.locationManager.activityType = CLActivityType.automotiveNavigation
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.pausesLocationUpdatesAutomatically = false
self.locationManager.startUpdatingLocation()
self.map.showsUserLocation = true
在viewWillAppear
中:
self.map.showsUserLocation = true
self.locationManager.startUpdatingLocation()
在viewWillDisappear
中:
self.map.showsUserLocation = false
self.locationManager.stopUpdatingLocation()
在 didUpdateLocations
中:(最后一行)
self.locationManager.stopUpdatingLocation()
定时器功能:(这被称为好)
Timer.scheduledTimer(timeInterval: 600.0, target: self, selector: #selector(HomePageViewController.updateLocationFromTimer), userInfo: nil, repeats: true)
@objc func updateLocationFromTimer()
{
self.locationManager.startUpdatingLocation()
}
我还尝试使用以下代码捕获任何错误:
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print(error.localizedDescription)
}
但它没有被调用。
我很想知道为什么没有更新位置以及为什么 map 没有显示位置。请帮忙。
最佳答案
确保分配委托(delegate):
self.locationManager.delegate = self
关于ios - didUpdateLocations 没有被调用 swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486022/
我正在尝试在我的示例应用程序中实现经度和纬度。我使用 iPhone 5s 设备进行测试。它不会对按钮操作的纬度和经度标签产生任何影响。 在编译 Xcode 之前,在 didUpdateToLocati
我的应用程序中的定位服务在您第一次运行时无法正常工作。第二次,以及之后的任何时候,它都可以正常工作。这是我的代码: - (void)viewDidLoad { [super viewDidLoad];
我有一个 iOS 应用程序,它启用了用于远程通知的后台模式。整个过程中使用的 CLLocationManager 实例是通过 requestAlwaysAuthorization 进行授权的。 我有一
假设我已打开所有设备,WIFI、GPS 和 CELL。然而,我在地铁里,所有这些都被封锁了。 如果我执行 startUpdatingLocation,是否会出现超时消息?它从哪里来? (注意:我相信它
我想知道当我的手机处于稳定位置时 locationManager:didUpdateLocations: 会调用吗? 就我而言,当我将手机放在一个地方时,它不会打电话。 我将手机从房间内的一个位置放置
因此,我的应用需要每隔 15 米捕获一次位置。 在viewDidLoad中 NSOperationQueue.mainQueue().addOperationWithBlock { self.
应用程序启动后,我需要检查位置并将其发送到服务器。之后,我需要每公里检查一次位置。 因此,当我开始位置更新时,我将 distanceFilter 设置为 none,在接收到第一个位置时,我将其更改为
我正在使用 CLLocationManager 开发 ios 应用。 直到ios10,我调用了startUpdatingLocation,然后调用了didUpdateLocations,得到了一个Lo
在我的 Swift 2.0 应用程序中,我使用 CoreLocation 检查用户是否在某个地方的 1 公里以内,如果在,我使用 AVFoundation 播放声音。 问题是,当我开始在 didUpd
假设您想将 MapView 聚焦在当前位置,然后在 didUpdateLocation 中编写一些代码来处理当前位置坐标。 但是,如果您不在 CLLocationManager 对象上调用 reque
我的方法 didUpdateLocations 似乎从未被调用过?为什么是这样?我已将 key 添加到 info.plist 这是我的代码: override func viewDidLoad() {
func startLocationManager() { if CLLocationManager.locationServicesEnabled() { l
我正在尝试实现延迟位置更新以获得更好的电池消耗。我正在这样启动我的位置管理器: - (void)initCoreLocation { self.locationManager = [[CLLo
我将我的对象设置为 locationManager 的委托(delegate),并调用了 didChangeAuthorizationStatus 方法,它执行以下操作: func locationM
我想制作一个简单的 IOS 6.0 应用程序,每次更改位置时都会在屏幕上显示纬度/经度。 ViewController 文件非常简单。 我分配一个 CCLocationManager 对象,设置它的变
当应用处于事件状态并在前台运行时,didUpdateLocations 工作正常,但一旦应用进入后台,它就会停止工作 在.h文件中 @property (nonatomic, strong) CLLo
我正在尝试获取我的当前位置,但从未调用 didUpdateLocations 中的断点。 位置管理器: locationManager = [[CLLocationManager alloc] ini
我正在尝试获取用户的位置。为此,我在 info.plist 中设置了以下属性: 我还在 viewDidLoad 方法和下面的函数中添加了以下代码。问题是 locationManager(manager
我在用户位置和其余代码方面遇到问题... 我开发了一个代码,可以从 Foursquare API 检索某个位置的餐馆。我要解决的问题是: 这是我用来检索信息的 URL 字符串(纬度和经度是硬编码的,只
我使用的是XCode7.2版本 我尝试使用locationManager委托(delegate)函数 func locationManager(manager: CLLocationManager,
我是一名优秀的程序员,十分优秀!