2017-07-31 39 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