0

地質学的位置のリストをピクセルに投影するのはまだ困難です。座標を単純にペイントするためのカスタムビュー(SurvaceViewから派生)があります。

私のコード:

x = (int) sView.getHeight() * ( (pos.getLat() - minLat) / (maxLat - minLat)) + margin;
...
myPoints.add(new Point(x,y));

onDraw(Canvas canvas) {
  for (Point p : myPoints) {
    canvas.drawPoint(p.x, p.y, myPaint);
  }

....ビュー全体に適合しません。私は必死になっています。アイデアはありますか?

ありがとう

4

1 に答える 1

2

何が欲しいのか少しわかりません。

しかし、私があなたを正しく理解しているなら、GPS座標のセットをビットマップにプロットし、結果のプロットをビットマップのサイズに合わせたいと思うでしょう。

もしそうなら、私は次の戦略に行くことをお勧めします:

  1. 最小および最大の緯度と経度、MinLon、MaxLon、MinLat、およびMaxLatを見つけます。
  2. すべてのポイントから最小値を減算します(データセットを(0,0)にリベースします)。
  3. 水平スケール係数を見つけます:ScaleX:=(MyBitmap.Width)/(MaxLat-MinLat)
  4. 垂直スケール係数を見つけます:ScaleY:=(MyBitmap.Height)/(MaxLon-MinLon)
  5. データセット内のすべてのポイントをループし、ScaleXとScaleYの最小のスケール係数を適用します。

次に、ビットマップにプロットできる座標を持つポイントのセットが作成されます。

それは地図上で正しい投影ではありませんが、少なくとも出発点として役立つでしょう。

于 2012-06-10T16:29:19.837 に答える