【问题标题】:How to translate Canvas Points to Map Coordinates如何将画布点转换为地图坐标
【发布时间】:2013-06-05 19:42:54
【问题描述】:

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

看到这张图片,

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

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

我的代码,

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 坐标(地图坐标)来在该区域执行一些功能。我可以通过哪种方式修改我的代码。请给我建议。

如果可能,请提供任何链接。 任何帮助表示赞赏!

【问题讨论】:

    标签: android canvas drawing coordinates google-maps-android-api-2


    【解决方案1】:

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

    【讨论】:

    • 最后!!知道了!。感谢您的链接。
    • 链接失效了。这就是为什么只有链接的答案不是很好的原因。
    猜你喜欢
    • 2013-09-01
    • 1970-01-01
    • 2011-10-15
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多