Java getLatitudeE6()返回错误的值
我刚刚编写了这段代码来查看android设备上手指点击的经度和纬度 我猜我的代码中有问题,或者提供的函数“getLatitudeE6”中有错误 谷歌。如你所知,纬度仅从-90度到+90度,但当我点击周围的位置时 安塔里加,尤其是下面,我只看到-80。换句话说,纬度限制在-80到80之间 学位。这是我的错还是谷歌的错?如果你“点击南极洲周围”,我猜你是在使用MapView获取坐标。MapView用作地图投影,该投影的一个缺点是,它在极点周围没有用处,在这种情况下,您要点击极点。所以我猜北极和南极甚至不在地图上。这是地图投影的一个限制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用作地图投影,该投影的一个缺点是,它在极点周围没有用处,在这种情况下,您要点击极点。所以我猜北极和南极甚
如果你想要一张好的南极洲地图,你应该使用不同的,但我不知道在地图视图中这是否可行。不过,我知道您至少可以在谷歌地图中更改地图投影。如果您查看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;
}