我正在尝试将屏幕坐标转换为android mapview中的Geopoint。我需要在屏幕中心显示一个标记(mapview填充在窗口中)。所以我尝试使用显示度量getWidth()和getHeight()方法获取中心坐标,并使用mapView.getProjection()。fromPixels(height / 2,width / 2)转换为geoppoint。但它似乎给出了错误的结果。我该怎么办?
答案 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)
查看此链接以获取更多信息
答案 1 :(得分:0)
您是否考虑了notificationBar
尺寸?也许是appBar
?
你想知道的是MapView
的宽度和高度,然后得到投影:)