我正在地图上绘制一个形状。实际上,我正在使用地图上的视图来绘制形状。我在单击某个按钮时将此视图置于前面。因此,地图驻留在此视图中。我可以使用画布在视图上绘制形状。现在,我希望将这些点转换为地图坐标。
看到这张图,
好像是在地图上画的。但是绘图是在透明视图上完成的。从这些画布点,我想转换为地图坐标。
我不知道如何实现这一点。请建议我如何做到这一点。
我的代码,
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 坐标(地图坐标)来在该区域中执行一些功能。我可以通过哪种方式修改我的代码。请给我建议。
如果可能的话,请给我任何链接。任何帮助表示赞赏!