4

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

4

2 回答 2

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

于 2012-08-06T10:10:03.037 回答
0

你考虑到notificationBar尺寸了吗?也许也是appBar

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

于 2012-08-06T10:13:12.633 回答