问题描述
||
我打算在android中创建一个具有以下功能的应用程序
显示从源到目的地的路线
显示反向路线
显示交通数据
显示替代路线
储存使用者资料
除此之外,我想在地图上使用一些Android本机控件,例如图像按钮,文本框,对话框。
现在,在查看了此链接之后,我在选择以下方法时有些困惑
浏览器中的Google Maps API V3
嵌入在本机应用程序中的浏览器中的Google Maps API V3
本机Google Maps API
任何人都可以帮助我选择正确的方法吗?
解决方法
好吧,这没有简单的答案。每种方法都有其优点和缺点。
现在,让我陈述一些可能有助于您做出决定的见解(基于您希望将地图作为本机android应用程序(而不仅仅是html5应用程序)的一部分的想法-如果我错了,请更正我):
您需要存储用户数据。
如果您想将数据存储在应用程序中,那么我想您可以省略第一个解决方案。使用浏览器中的地图正确维护数据将非常困难(甚至不可能)。维护数据的最佳方法是直接从网页与服务器通信,并将数据存储在服务器上(因此您需要服务器后端)。您还可以通过为自己的url模式注册一个意图过滤器来将某些数据从网页传递到活动。
使用方法2和方法3,您不会遇到这样的问题,您可以在其中使用android代码(如果将地图嵌入到网络视图中,则可以通过将javascript代码绑定到android代码来访问android代码)。
您要使用Android本机控件。
现在,您还可以省略第一种解决方案,因为您正在使用浏览器控件。在第二种解决方案中,您可以同时使用两种方法(地图不必填满整个屏幕,也可以将控件放置在Web视图上)。
Google Maps API v3经常更新,目前比本地API更舒适。自Android 1.6以来,原生API的更新不多(不确定是否已更新)。
从这三点出发,我希望将Google Maps API V3嵌入到Webview中。当然,我可能会错过您应用程序的一些重要功能。