2

我正在地图上绘制一个形状。实际上,我正在使用地图上的视图来绘制形状。我在单击某个按钮时将此视图置于前面。因此,地图驻留在此视图中。我可以使用画布在视图上绘制形状。现在,我希望将这些点转换为地图坐标。

看到这张图,

在此处输入图像描述

好像是在地图上画的。但是绘图是在透明视图上完成的。从这些画布点,我想转换为地图坐标。

我不知道如何实现这一点。请建议我如何做到这一点。

我的代码,

public boolean onTouch(View v, MotionEvent event) {     
    int action = event.getAction();
    path = new Path();
    float upX;
    float upY;
    Log.d("", "OnTouch");
    switch (action) {
    case MotionEvent.ACTION_DOWN:
        canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
        downx = event.getX();
        downy = event.getY();
        eventX = downx;
        eventY = downy;
        Log.d("", "startx" + eventX);
        break;
    case MotionEvent.ACTION_MOVE:
        upx = event.getX();
        upy = event.getY();
        canvas.drawLine(downx, downy, upx, upy, paint);
        drawable.invalidate();
        downx = upx;
        downy = upy;
        break;
    case MotionEvent.ACTION_UP:
        upX = event.getX();
        upY = event.getY();
        Log.d("", "Action Up");
        Log.d("", "endx" + upX);
        canvas.drawLine(eventX, eventY, upX, upY, paint);
        drawable.invalidate();
        return true;
    case MotionEvent.ACTION_CANCEL:
        break;
    default:
        break;

    }
    return true;
}

我想通过从视图上的绘图中获取 N、E、W、S 坐标(地图坐标)来在该区域中执行一些功能。我可以通过哪种方式修改我的代码。请给我建议。

如果可能的话,请给我任何链接。任何帮助表示赞赏!

4

1 回答 1

0

你想要的是 Projection https://developers.google.com/maps/documentation/android/v1/reference/com/google/android/maps/Projection,顺便说一句,你为什么在 onTouch 时在 Canvas 上画任何东西?

于 2013-06-10T08:01:16.740 回答