我正在地图上画一个形状。实际上,我在地图上使用View来绘制形状。 我点击了一些按钮就把这个视图放到了前面。因此,map将返回此视图。 我可以使用画布在View上绘制一个形状。 现在,我想将这些点转换为地图坐标。
见图片,
似乎绘图是在地图上完成的。但是绘图是在透明视图上完成的。从这些画布点,我想转换为地图坐标。
我不知道如何实现这一目标。请告诉我如何做到这一点。
我的代码,
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坐标(地图坐标)来绘制此区域中的一些功能。我可以通过哪种方式修改我的代码。请建议我。
如果可能,请提供任何链接。 任何帮助表示赞赏!!
答案 0 :(得分:0)
你想要的是投影https://developers.google.com/maps/documentation/android/v1/reference/com/google/android/maps/Projection,顺便说一下你为什么在onTouch上画画上的东西?