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 に答える