我正在制作一个使用Google Maps API的Android应用程序,我想将MapView缩放到X_pixels:X_meters。
例如,我的屏幕中有5个像素的MapView,现实上是20米。
这可能吗?
Thx
答案 0 :(得分: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];
计算屏幕中心纬度水平的距离(米)。因为地球的球形距离从屏幕的底部到顶部不同。这主要是在低缩放级别下注意到的。
问候。