3

我正在制作一个使用 Google Maps API 的 Android 应用程序,我想将 MapView 缩放到 X_pixels:X_meters。

比如我屏幕上5个像素的MapView,现实上20米。

那可能吗?

谢谢

4

1 回答 1

2

使用以下代码:

    int nPixles = 5; //number of pixels
    GeoPoint g0 = mapview.getProjection().fromPixels(0, mapview.getHeight()/2);
    GeoPoint g1 = mapview.getProjection().fromPixels(nPixles, mapview.getHeight()/2);
    float[] results = new float[1];
    Location.distanceBetween(g0.getLatitudeE6()/1E6, g0.getLongitudeE6()/1E6, g1.getLatitudeE6(), g1.getLongitudeE6()/1E6, results);
    float distanceInMeters = results[0];

这会计算屏幕中心纬度水平的距离(以米为单位)。因为地球是球形的,从屏幕底部到顶部的距离不同。这主要是在低缩放级别时注意到的。

问候。

于 2012-11-29T22:30:15.310 回答