我创建了一个包含地图的指导应用程序。这个地图是使用数据库中的数据动态绘制的。[矩形坐标]为了绘制地图,我使用了View类并覆盖了Ondraw方法。
问题是我无法找到实现放大功能的方法。我已经使用Gesture Detector类来处理OnLongPress和OnTouchEvent方法。我正在考虑捏合放大功能,但不知道如何做到这一点。
期待一些好主意。谢谢!
课程扩展
答案 0 :(得分:0)
您能否提供一些有关如何绘制此动态地图的更多信息?现在,我将做出一个假设并与之一起运行。如果要在画布上绘制形状,可以将画布指向位图以绘制到:
Bitmap myDynamicMapBitmap = new Bitmap(MAP_WIDTH, MAP_HEIGHT, Bitmap.Config.ARGB_8888);
mapCanvas.setBitmap(myDynamicMapBitmap);
// Draw your map on the canvas here
现在你有了地图的位图表示,你可以利用这个开源项目,它基本上是内置的Android照片库应用程序的改编版,允许用户平移和缩放图像:
我以前在应用程序中使用过该项目,效果非常好。您可能需要调整一些以获得所需的行为(例如,禁用平移,因为您没有说您想要这样做。)
然后你真正需要做的就是:
imageViewZoomInstance.setImageBitmap(myDynamicMapBitmap);
该视图包含内置捏缩放。您可能希望将其与您创建的当前视图合并。