如何在android中将屏幕坐标转换为geopoint

时间:2012-08-06 10:03:44

标签: android android-mapview geopoints

我正在尝试将屏幕坐标转换为android mapview中的Geopoint。我需要在屏幕中心显示一个标记(mapview填充在窗口中)。所以我尝试使用显示度量getWidth()和getHeight()方法获取中心坐标,并使用mapView.getProjection()。fromPixels(height / 2,width / 2)转换为geoppoint。但它似乎给出了错误的结果。我该怎么办?

2 个答案:

答案 0 :(得分:5)

您已将高度和宽度参数作为错误更改传递

<强> mapView.getProjection().fromPixels(width/2,height/2);

试试这段代码

Projection proj = mapview.getProjection();
GeoPoint proj.fromPixels(int x, int y) ;

在这里你必须传递x,y坐标并且它将转换为GeoPoint,你也可以将它从GeoPoint保留到像素也来自这个对象

Point p = new Point();
proj.toPixels(GeoPoint in, android.graphics.Point out) 

查看此链接以获取更多信息

https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/Projection

答案 1 :(得分:0)

您是否考虑了notificationBar尺寸?也许是appBar

你想知道的是MapView的宽度和高度,然后得到投影:)