使用MyLocationNewOverlay,我可以在地图视图中显示用户的当前位置。
mylocation = new MyLocationNewOverlay(mapView);
mylocation.enableMyLocation();
mylocation.enableFollowLocation();
IMyLocationProvider s= mylocation.getMyLocationProvider();
mylocation.getMyLocation();
mapView.getOverlays().add(mylocation);
为了创建路由,我尝试通过mylocation.getMyLocation/mylocation.getLastFix()获取用户的当前位置,但两者都返回null。如何检索地理点/纬度长点?
如果你使用了mylocation.getMyLocation()
,它返回了null
,那是因为你没有给它足够的时间来找到你的位置。
如果我们看一下这里的源代码:
public GeoPoint getMyLocation() {
if (mLocation == null) {
return null;
} else {
return new GeoPoint(mLocation);
}
}
您之所以为空,仅仅是因为您的位置实际上为空,mylocation.getLastFix()
也是如此
public Location getLastFix() {
return mLocation;
}
在尝试获取您的位置之前,请确保至少等待runOnFirstFix
结束。
此外,行:
IMyLocationProvider s= mylocation.getMyLocationProvider();
在这种情况下是不必要的,除此之外,你应该走在正确的轨道上。