toPixels():项目经度&纬度到自定义视图的像素

时间:2012-06-10 15:33:10

标签: android

我仍然难以将像素列表中的地质位置列表。我有一个自定义视图(从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);
  }

....不适合整个视图。我变得绝望了。你有什么想法吗?

由于

1 个答案:

答案 0 :(得分: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的最低比例因子。
  6. 然后,您将拥有一组坐标可以绘制到位图的点。

    这不是一个制图正确的投影,但它至少可能是一个起点。