从GpsMyLocationProvider获取经度和纬度(OSMdroid)

从GpsMyLocationProvider获取经度和纬度(OSMdroid)

问题描述:

我正在使用OSMdroid编程导航应用程序。从GpsMyLocationProvider获取经度和纬度(OSMdroid)

如何从GpsMyLocationProvider中提取经度和纬度到地理坐标中,以便我可以将地图居中?

this.mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(this),map); this.mLocationOverlay.enableMyLocation();

我试过了。但它只是使应用程序崩溃,我只要一按按钮的这种方法: mapController.setCenter((IGeoPoint) this.mLocationOverlay);

+0

当应用程序崩溃时,你得到的错误是什么? mapController为空吗? –

+0

@jimmycarr当我调试时,在最后一行地图控制器是“MapController @ 4177” – Glave

+0

您是否在控制台中看到错误?你得到什么类型的例外? –

看起来你是铸造MyLocationNewOverlayIGeoPoint,但它不实现接口IGeoPoint,所以你会得到一个ClassCastException。确保你通过了有效的IGeoPointsetCenter()

+0

好的,所以首先我需要用'GeoPoint myLocation = new创建一个合适的Geopoint GeoPoint(经度,纬度)'?问题是,我不知道如何从GpsMyLocationProvider获取经度和纬度。 – Glave

+0

您可以在位置提供程序上调用'.getLastKnownLocation()。getLatitude()' –

+0

Android Studio告诉我:非静态方法“getLastKnowLocation()”不能从静态上下文中引用。对不起,我是Java的新手。 – Glave