2011-08-01 26 views
1

Googleマップのアプリ(あなたがどこにいるかを示すもの)に表示される青い円を描く方法に関するチュートリアルや例があります。また、円をズームインすると大きくなる(円をズームアウトすると小さくなり、ある時点で消える)ことを知りたいと思います。これに関するいくつかの提案やガイドラインがある場合、またはどこから始めるべきかについては、私は本当に感謝しています。私の知る限り、直接青色の円を描画するための直接的な方法はありません知っているように http://developer.android.com/reference/android/graphics/Canvas.htmlGoogleマップのアプリのようにアンドロイドで円を描く

が、あなたはいくつかを密接にそれをエミュレートすることができるはずです。

答えて

0

ほとんどの描画操作は、Canvasクラスで使用可能なのuをありがとうdrawCircle()への呼び出し

1

私はついに解決策を得ました。

  int mToR= metersToRadius(55, mapView,p.getLatitudeE6()); 
      canvas.drawCircle(screenPts.x, screenPts.y, mToR, mPaintFill); 
      canvas.drawCircle(screenPts.x, screenPts.y, mToR, mPaintStroke); 

これは円を描く、screenPtsは私の現在位置のGeoPointの投影である: はここに私のコードです。

public static int metersToRadius(float meters, MapView map, double latitude) { 
    return (int) (map.getProjection().metersToEquatorPixels(meters) * (1/ Math.cos(Math.toRadians(latitude))));   
} 

これは、円の半径を計算する方法です。これは私が他のポストから得たものです(http://stackoverflow.com/questions/2077054/how-to-compute-a-radius-around-a-point-in-an-android-mapview)

+0

私は知っています私の質問に答えたが、数日間私のアプリを使用した後、私はそれが常に55メートルになるようにしても、円の半径が変化することに気づいた。誰かがなぜこれが起きているのか分かっている場合や、この問題に対するよりよい解決策がある場合は、彼がそれを分かち合うと大変感謝しています。あらかじめありがとうございます。 – Sandra

関連する問題