如何使用OSMdroid从MyLocationNewOverlay检索地理点



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

在这种情况下是不必要的,除此之外,你应该走在正确的轨道上。

相关内容

  • 没有找到相关文章

最新更新