Android: MapView - getMapCenter () no es preciso?

Intentaré desglosar mi problema en un ejemplo simple. Traté de dibujar un círculo que permanece exactamente en el medio de la vista. Para esto utilicé el siguiente código en el método de dibujo de mi Overlay:


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);

Cuando ejecuto el código, el círculo está exactamente en el medio de la pantalla. También permanece en el medio cuando me desplazo verticalmente, pero cuando me desplazo horizontalmente, el círculo se mueve ligeramente en la dirección de desplazamiento. El círculo está completamente fuera de posición después de unos pocos desplazamientos en lugar de permanecer en el medio.

(Esta es solo una versión simplificada de mi problema, pero necesito obtener el medio de esta manera en lugar de simplemente pegarlo en el medio de la vista).

preguntado el 03 de mayo de 12 a las 09:05

1 Respuestas

Una opción sería simplemente agregar un ImageView a través del archivo de diseño.

contestado el 14 de mayo de 12 a las 02:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.