У меня есть приложение для Android, которое показывает карты с помощью OSMDroid.Я хочу получить проекционные пиксели GeoPoint
на экране, а не на плитках.Рассмотрим следующий фрагмент кода:
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
заполняется значениями, намного превышающими размеры экрана (я получаю 10000+ для x и y), и я подозреваю,что это пиксели на плитке, а не пиксели экрана.
Как мне перейти от GeoPoint
к экрану пикселей назад и вперед?