Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mapbox-我可以在没有Mapbox映射的情况下使用locationlistener吗_Java_Android_Location_Mapbox_Locationlistener - Fatal编程技术网

Java Mapbox-我可以在没有Mapbox映射的情况下使用locationlistener吗

Java Mapbox-我可以在没有Mapbox映射的情况下使用locationlistener吗,java,android,location,mapbox,locationlistener,Java,Android,Location,Mapbox,Locationlistener,我知道使用locationListener和触发GPS的方法如下: mapboxMap.setMyLocationEnabled(true); 我想在应用程序启动时打开locationListener,但我不想在startActivity中使用地图。只使用locationListener而不使用映射 如何使用Mapbox?答案是否定的!你不能这样做,我建议你不要这样做,因为这会增加你的apk大小很多。如果您只需要位置侦听器,那么有很多库可以为您提供: 您可以使用LocationEngine实例

我知道使用locationListener和触发GPS的方法如下:

mapboxMap.setMyLocationEnabled(true);
我想在应用程序启动时打开locationListener,但我不想在startActivity中使用地图。只使用locationListener而不使用映射


如何使用Mapbox?

答案是否定的!你不能这样做,我建议你不要这样做,因为这会增加你的apk大小很多。如果您只需要位置侦听器,那么有很多库可以为您提供:


您可以使用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();

确保在获取完所需的位置信息或活动被破坏后,删除所有侦听器,停止请求更新并停用引擎。

谢谢回答,因为我在其他活动中使用mapbox地图,所以我只想找到一种方法,使用同一工具提供位置谢谢回答,但是它需要自己处理位置提供者,而不是使用mapbox的逻辑。我不明白?您在另一条评论中提到,您希望使用Mapbox工具来完成此操作。定位引擎不需要任何与地图相关的代码,它是完全独立的。
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();