使用MyLocationNewOverlay可以在地图视图中显示用户的当前位置。

 mylocation = new MyLocationNewOverlay(mapView);
            mylocation.enableMyLocation();
            mylocation.enableFollowLocation();
            IMyLocationProvider s= mylocation.getMyLocationProvider();
            mylocation.getMyLocation();
            mapView.getOverlays().add(mylocation);


为了创建一条路线,我尝试通过mylocation.getMyLocation /mylocation.getLastFix()获取用户的当前位置,但是两者都返回null。如何获取geopoint /纬度长点?

最佳答案

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


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

08-06 08:50