2012-05-03 2 views
0

Я попытаюсь разбить мою проблему на простой пример. Я попытался нарисовать круг, который находится точно в середине обзора. Для этого я использовал следующий код в метод вытягивания моей Overlay:Android: MapView - getMapCenter() неточно?


GeoPoint mapCenter = mapView.getMapCenter(); 
Projection projection = mapView.getProjection(); 

int centerLat = mapCenter.getLatitudeE6(); 
int centerLong = mapCenter.getLongitudeE6(); 

Point pCircleCenter = new Point(); 

GeoPoint circleCenter = new GeoPoint(centerLat, centerLong); 

projection.toPixels(circleCenter, pCircleCenter); 

canvas.drawCircle(pCircleCenter.x, pCircleCenter.y, 30, testPaint); 

Когда я запускаю код круг точно в середине экрана. Он также остается в середине, когда я прокручиваю вертикально, но когда я прокручиваю , горизонтальный круг слегка перемещается в прокрученном направлении. Круг полностью вышел из положения после нескольких свитков вместо , оставаясь в середине.

(Это только упрощенная версия моей проблемы, но мне нужно, чтобы получить середине таким образом, вместо того, чтобы просто приклеить ее к середине зрения.)

ответ

0

Одним из вариантов было бы просто добавить ImageView через файл макета.