12

「有用な半径」(座標の精度を考えてください) を表示しているMapViewMapViewがあります。のProjectionmeterToEquatorPixelsを使用します。これは、赤道距離のためだけに使用されます) では、十分に正確な距離 (ピクセル単位) が得られません。 )。半径を指定して座標の周りに円を表示したい場合、これをどのように計算しますか?

4

3 に答える 3

29

そのため、Google マップではメルカトル図法を使用しています。これは、赤道から離れるほど距離が歪むことを意味します。この議論によると、距離を変換する適切な方法は次のようになります。

public static int metersToRadius(float meters, MapView map, double latitude) {
    return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude))));         
}
于 2010-01-17T23:51:57.557 に答える
-2
projection.toPixels(GeoP, pt);
float radius = projection.metersToEquatorPixels(50);

これを試してみてください... MapRadiusで使用しましたが、機能しているようです

于 2012-07-18T09:12:50.773 に答える