我正在尝试开发一个 android 应用程序来显示可缩放、可平移的地图(这只是一个位图图像),它还允许用户单击地图上的某些点。
我正在努力寻找实现此类应用程序的最有效方法。在尝试了许多其他方法(包括 Webviews、OpenLayers)之后,最好的方法(至少根据这个站点)似乎是使用带有 Canvas 的 SurfaceView。到目前为止,我的代码是从我在互联网上找到的片段拼凑而成的,所以它只是崩溃了。无论如何,我已经将它包含在这里,希望它可以让我对我想要实现的目标有所了解:
public class Main extends Activity {
private Bitmap bmp;
private SurfaceView surfaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
surfaceView = (SurfaceView)findViewById(R.id.surface);
bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.testmapbmp);
//decode the bitmap file
Canvas canvas = new Canvas(bmp);
//create a canvas from the bitmap, then display it in surfaceview
surfaceView.draw(canvas);
}
}
这是实现我的应用程序所需功能的最佳方式吗?或者有没有更好的方法,特别是如果我以后会遇到问题,例如实现地图的可点击部分。
我真的需要以前创建过类似东西的人的帮助,所以我可以对这个问题进行思考,但我非常感谢任何帮助/指针/提示!
谢谢