0

我正在使用 route-me (Alpstein fork) 来显示带有用户位置的地图。它一直在工作,直到我最近更新了 Xcode 和 route-me。现在,如果我设置:

mapView.showsUserLocation = YES;
mapView.userTrackingMode = RMUserTrackingModeFollowWithHeading;

什么都没发生。我下载了 Mapbox-me 项目 ( https://github.com/mapbox/mapbox-me ) 以测试它是否与 Mapbox 一起使用,但事实并非如此。我正在使用模拟器进行测试。iOS 地图应用程序中的用户位置正在工作,因此模拟器似乎能够发送位置。

有人面临这个问题吗?

4

1 回答 1

0

好吧,我没有朝好的方向寻找,问题绝对与 MapBox / route-me 无关,而是与 iOS 8 相关......

要接收任何位置更新,我们现在需要在 .plist 中添加以下条目之一:

  • NSLocationAlwaysUsageDescription(如果您的应用即使在后台也需要位置)
  • NSLocationWhenInUseUsageDescription(如果您的应用在前台只需要位置)

我们需要通过执行以下调用之一来轻轻地询问用户的许可(在要求 MapView 显示用户的位置之前):

if([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) [_locationManager requestAlwaysAuthorization];
if([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) [_locationManager requestWhenInUseAuthorization];

如果您不这样做,您将不会收到任何错误、警告 - 也不会更新位置...我绝对喜欢 Android 开发!

于 2014-11-24T19:25:08.893 回答