I am trying to convert screen coordinates to a Geopoint in android mapview. I need to show a marker at the center of screen(mapview is filled in the window). So I tried to get the center coordinates using display metrics getWidth() and getHeight() methods and converted to geoppoint using mapView.getProjection().fromPixels(height/2, width/2). But it seems to be giving wrong results. What shall I do?
Asked
Active
Viewed 2,276 times
2 Answers
5
You have passing the height and width argument as wrong change
mapView.getProjection().fromPixels(width/2,height/2);
try this code
Projection proj = mapview.getProjection();
GeoPoint proj.fromPixels(int x, int y) ;
here you have to pass the x,y coordinate and it will convert to the GeoPoint you can also reserve this from GeoPoint to pixel also from this object
Point p = new Point();
proj.toPixels(GeoPoint in, android.graphics.Point out)
check this link for more info

Pratik
- 30,639
- 18
- 84
- 159
0
Are you taking into account the notificationBar
size? maybe also the appBar
?
What you want to know is the width and height of the MapView
, and then get the projection :)

halfer
- 19,824
- 17
- 99
- 186

Goofyahead
- 5,874
- 6
- 29
- 33