我有一个使用 OSMDroid 显示地图的 Android 应用程序。我想GeoPoint
在屏幕上而不是在瓷砖上获得 a 的投影像素。考虑以下代码:
Projection projection = getProjection();
GeoPoint geoPoint1 = (GeoPoint)projection.fromPixels(0, 0);
Point pixelsPoint = new Point();
projection.toPixels(geoPoint1, pixelsPoint);
GeoPoint geoPoint2 = (GeoPoint)projection.fromPixels(pixelsPoint.x, pixelsPoint.y);
我想geoPoint1
等于geoPoint2
。相反,我得到了 2 个完全不同的“GeoPoint”。在我看来,问题出在这一行:
projection.toPixels(geoPoint1, pixelsPoint);
out 变量pixelsPoint
填充的值远高于屏幕尺寸(x 和 y 为 10,000+),我怀疑这是图块上的像素,而不是屏幕像素。
如何GeoPoint
来回从屏幕像素到屏幕像素?