Mapbox获取当前位置,Android

时间:2018-04-05 11:37:08

标签: java android mapbox mapbox-android

我正在尝试使用适用于Android的Mapbox SDK获取用户的当前位置。在查看了教程和其他所有可用内容之后,我得出结论,所有显示的技术都包括弃用的方法。

我尝试使用以下技术,因为可能是我唯一的镜头,但我遇到了一个我无法解决的错误:error: cannot access LocationListener class file for com.google.android.gms.location.LocationListener not found

以下是产生错误的代码的一部分:

@Override
protected void onCreate(Bundle savedInstanceState) {
    context = this;
    super.onCreate(savedInstanceState);
    Mapbox.getInstance(this, API_KEY);

    setContentView(R.layout.activity_map_view_test);


    locationEngine = GoogleLocationEngine.getLocationEngine(context);

    myLocation = locationEngine.getLastLocation();


    mapView = (MapView) findViewById(R.id.mapView);
    mapView.onCreate(savedInstanceState);
    mapView.getMapAsync(new OnMapReadyCallback() {

        @Override
        public void onMapReady(final MapboxMap mapboxMap) {
            mapboxMap.addMarker(new MarkerOptions()
                    .position(new LatLng(myLocation.getLatitude(),myLocation.getLongitude()))
                    .title("My Location")
                    .snippet("Illinois")
            );

            mapboxMap.setLatLng(mapboxMap.getMarkers().get(0).getPosition());
        }
    });
}

有没有人有一些好主意?任何帮助都是相关的。

致以最诚挚的问候,

Dimitar Georgiev

2 个答案:

答案 0 :(得分:0)

如果您在Proguard Rules中启用了shrink resources,请检查您的Gradle

答案 1 :(得分:-1)

您真的需要使用Google LocationEngine吗?我已经使用了LocationEngine SDK提供的MapBox,并且使用起来非常好。您可以尝试导入:

com.mapbox.android.core.location.LocationEngine;