1

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

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

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

4

1 回答 1

1

如果您使用mylocation.getMyLocation()并返回null,那是因为您没有留下足够的时间来找到您的位置。

如果我们看一下这里的源代码:

public GeoPoint getMyLocation() {
    if (mLocation == null) {
        return null;
    } else {
        return new GeoPoint(mLocation);
    }
}

你得到 null 仅仅是因为你的位置实际上是 null ,同样适用mylocation.getLastFix()

public Location getLastFix() {
    return mLocation;
}

runOnFirstFix在尝试获取您的位置之前,请确保至少等待结束。

此外,该行:

IMyLocationProvider s= mylocation.getMyLocationProvider();

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

于 2016-05-19T11:23:37.930 回答