Java getLatitudeE6()返回错误的值

Java getLatitudeE6()返回错误的值,java,android,android-mapview,latitude-longitude,wgs84,Java,Android,Android Mapview,Latitude Longitude,Wgs84,我刚刚编写了这段代码来查看android设备上手指点击的经度和纬度 我猜我的代码中有问题,或者提供的函数“getLatitudeE6”中有错误 谷歌。如你所知,纬度仅从-90度到+90度,但当我点击周围的位置时 安塔里加,尤其是下面,我只看到-80。换句话说,纬度限制在-80到80之间 学位。这是我的错还是谷歌的错?如果你“点击南极洲周围”,我猜你是在使用MapView获取坐标。MapView用作地图投影,该投影的一个缺点是,它在极点周围没有用处,在这种情况下,您要点击极点。所以我猜北极和南极甚

我刚刚编写了这段代码来查看android设备上手指点击的经度和纬度

我猜我的代码中有问题,或者提供的函数“getLatitudeE6”中有错误

谷歌。如你所知,纬度仅从-90度到+90度,但当我点击周围的位置时

安塔里加,尤其是下面,我只看到-80。换句话说,纬度限制在-80到80之间

学位。这是我的错还是谷歌的错?

如果你“点击南极洲周围”,我猜你是在使用MapView获取坐标。MapView用作地图投影,该投影的一个缺点是,它在极点周围没有用处,在这种情况下,您要点击极点。所以我猜北极和南极甚至不在地图上。这是地图投影的一个限制


如果你想要一张好的南极洲地图,你应该使用不同的,但我不知道在地图视图中这是否可行。不过,我知道您至少可以在谷歌地图中更改地图投影。

如果您查看API文档,它会显示:

纬度:为了保持墨卡托投影的精度,将其钳制在-80度和+80度之间(含-80度)


这是因为在两极附近,墨卡托投影失去了准确性。

非常感谢。其实我不知道有几个投影。你的建议对我很有帮助!!谢谢你帮助我!!在问这个问题之前,我应该研究过各种投影。顺便说一句,我知道在MapView中使用不同的地图投影是不确定的。
    public boolean onTap(GeoPoint p, MapView mapView) {

        String msg;
        double d1 = p.getLatitudeE6()/1E6;
        double d2 = p.getLongitudeE6()/1E6;
        String str1 = Location.convert(d1, Location.FORMAT_DEGREES);
        String str2 = Location.convert(d2, Location.FORMAT_DEGREES);
        msg = "x = "+ p.getLatitudeE6() +
                ", y = "+ p.getLongitudeE6();
        Toast.makeText(MapViewActivity.this, msg, Toast.LENGTH_LONG).show();
        return true;
    }