Mapbox - 我可以在没有 Mapbox 地图的情况下使用位置监听器吗
Mapbox - Can I use the locationlistener without Mapbox map
我知道如何使用 locationListener
并且触发 GPS 是这样完成的:
mapboxMap.setMyLocationEnabled(true);
我想在应用程序启动时打开 locationListener
,但我不想使用 startActivity
中的地图。只使用 locationListener
没有地图。
如何使用 Mapbox?
答案是否定的!你不能这样做,我建议你不要这样做,因为它会大大增加你的 apk 大小。如果您只需要位置侦听器,有很多库可以为您完成:Smart Location Library:
SmartLocation.with(context).location()
.start(new OnLocationUpdatedListener() { ... });
您可以使用 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();
确保一旦您完成获取所需的位置信息或您的 activity 被销毁,您将删除所有侦听器、停止请求更新并停用引擎。
我知道如何使用 locationListener
并且触发 GPS 是这样完成的:
mapboxMap.setMyLocationEnabled(true);
我想在应用程序启动时打开 locationListener
,但我不想使用 startActivity
中的地图。只使用 locationListener
没有地图。
如何使用 Mapbox?
答案是否定的!你不能这样做,我建议你不要这样做,因为它会大大增加你的 apk 大小。如果您只需要位置侦听器,有很多库可以为您完成:Smart Location Library:
SmartLocation.with(context).location()
.start(new OnLocationUpdatedListener() { ... });
您可以使用 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();
确保一旦您完成获取所需的位置信息或您的 activity 被销毁,您将删除所有侦听器、停止请求更新并停用引擎。