将LatLng转换为与Android屏幕兼容的Pixel

时间:2011-07-07 08:26:17

标签: android google-maps google-maps-api-3

我有一个谷歌地图图片,其中标有“纽约”的位置&我使用谷歌地图Javascript API V3 click

的javascript示例将其纬度和经度转换为像素

但问题是ANCHOR_OFFSET_,因为我想根据Android屏幕转换像素。所以基本上我想要实现的是,如果我有位置(lat,lng) - 在谷歌地图图像 - 我想将其转换为Android屏幕的(X,Y)坐标。

1 个答案:

答案 0 :(得分:7)

如果你使用MapView,那么你可以调用类似的东西:

//Get map projection
Projection projection = mapView.getProjection();

//Convert LatLng to on screen location
Point p1 = new Point();
//projection.toPixels(gp, p1);
p1 = projection.toScreenLocation(location);

其中location是LatLng。由于点p1包含屏幕位置,屏幕位置相对于地图的左上角(不是整个屏幕)的屏幕像素(不是显示像素)。