【问题标题】:Mapbox / route-me : user location no longer workingMapbox / route-me:用户位置不再工作
【发布时间】:2014-11-23 12:27:22
【问题描述】:
我正在使用 route-me(Alpstein fork)来显示带有用户位置的地图。它一直在工作,直到我最近更新了 Xcode 和 route-me。现在如果我设置:
mapView.showsUserLocation = YES;
mapView.userTrackingMode = RMUserTrackingModeFollowWithHeading;
什么都没有发生。我下载了 Mapbox-me 项目 (https://github.com/mapbox/mapbox-me) 来测试它是否与 Mapbox 一起工作,但事实并非如此。我正在使用模拟器进行测试。 iOS 的 Maps 应用中的用户位置正在工作,因此模拟器似乎能够发送位置。
有人遇到这个问题吗?
【问题讨论】:
标签:
mapbox
route-me
user-location
【解决方案1】:
好吧,我的方向不是很好,问题绝对与 MapBox / route-me 无关,而是与 iOS 8 相关...
要接收任何位置更新,我们现在需要在 .plist 中添加以下条目之一:
- NSLocationAlwaysUsageDescription(如果您的应用即使在后台也需要位置)
- NSLocationWhenInUseUsageDescription(如果您的应用在前台只需要位置)
我们需要通过执行以下调用之一来温和地征求用户的许可(在要求 MapView 显示用户的位置之前):
if([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) [_locationManager requestAlwaysAuthorization];
if([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) [_locationManager requestWhenInUseAuthorization];
如果不这样做,您将不会收到任何错误、警告 - 也不会更新位置...我绝对喜欢 Android 开发!