2017-07-31 34 views
0

我知道用locationListener的方式触发GPS就是这样完成的:Mapbox - 我可以用LocationListener的不Mapbox地图

mapboxMap.setMyLocationEnabled(true); 

我想在应用程序启动打开locationListener,但我不” t想要使用startActivity中的地图。只使用没有地图的locationListener

我该怎么处理Mapbox?

回答

0

您可以使用LocationEngine实例来获取位置更新,但不显示地图。

final LocationEngine locationEngine = new LostLocationEngine(this); 
locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY); 
locationEngine.addLocationEngineListener(new LocationEngineListener() { 
    @Override 
    public void onConnected() { 
    locationEngine.requestLocationUpdates(); 
    } 

    @Override 
    public void onLocationChanged(Location location) { 

    } 
}); 
locationEngine.activate(); 

确保一旦您完成获取所需要的位置信息,或者您的活动也被打烂你删除所有监听器,请求停止更新和关闭发动机。

+0

感谢您的回答,但它需要自己处理位置提供程序,而不是使用地图盒的逻辑。 – mark

+0

我不明白?您在另一评论中提到您想使用Mapbox工具来执行此操作。位置引擎不需要任何与地图相关的代码,它是完全独立的。 – cammace

0

答案是否定的!你不能这样做,我建议你不要这样做,因为它会增加你的apk大小。如果你只需要位置监听器,还有就是有很多可以为你做它的图书馆:Smart Location Library

SmartLocation.with(context).location() 
.start(new OnLocationUpdatedListener() { ... }); 
+0

感谢您的回答,因为我在其他活动中使用mapbox地图,所以我只想找到一种方法使用相同的工具来提供位置 – mark