如何在mapbox-gl中显示用户位置标记?

时间:2015-07-21 18:06:26

标签: swift cllocationmanager mapbox xcode7-beta3 mapbox-gl

关注Mapbox First Steps guide后,我无法弄清楚如何让用户的位置显示在应用中。有没有人使用最新的MapboxGL构建成功获得用户位置标记以显示在iOS9中?我的假设是用户位置标记类似于非GL Mapbox库中的标记(脉动标记)。

采取的步骤:

  1. 根据First Steps指南,Info.plist已使用NSLocationAlwaysUsageDescription属性进行了更新。
  2. 通过调用mapView.showsUserLocation = true初始化地图。
  3. 我实现了MGLMapViewDelegate didUpdateUserLocation函数来简单地记录所有方法调用。我发现坐标包含无效值(纬度和经度值似乎都是:3.40282346638529e + 38)。
  4. 目前正在Xcode7 Beta 3 / Swift 2.0 / MapboxGL 0.5.2上进行测试。

2 个答案:

答案 0 :(得分:0)

很抱歉,如果应用需要<div vertilize-container class="row"> <div ng-repeat="col in columns" class="col-sm-3"> <div class="well"> <div vertilize> <h3>{{ col.title }}</h3> <p>{{ col.body }}</p> </div> </div> </div> </div> 权限,那么Mapbox GL永远不会要求位置权限的&lt; = 0.5.1中存在a bug。这将在下一版always中修复。

Mapbox GL会正确询问是否设置了0.6.0,因此使用NSLocationWhenInUseUsageDescription权限是最简单的解决方法。

在开发过程中,还可以在Settings.app→隐私→位置服务→YourAppName中手动授权位置。

另一种解决方法是使用您自己的WhenInUse来请求always权限。

答案 1 :(得分:0)

修复了最新的mapbox-gl构建。见this