【问题标题】:choosing right approch to implement google map in android选择正确的方法在 android 中实现谷歌地图
【发布时间】:2011-09-13 19:28:19
【问题描述】:
我打算在android中创建一个具有以下功能的应用程序
- 显示源到目标路径
- 显示反向路线
- 显示流量数据
- 显示备用路线
- 存储用户数据
除此之外,我还想在地图上使用一些 android 原生控件,例如图像按钮、文本框、对话框。
现在在查看了这个 link 之后,我在选择其中的方法时有点困惑
- 浏览器中的 Google Maps API V3
- 嵌入本机应用程序的浏览器中的 Google Maps API V3
- 原生 Google 地图 API
谁能帮我选择正确的方法?
【问题讨论】:
标签:
android
google-maps
google-maps-api-3
【解决方案1】:
嗯,没有简单的答案。每种方法都有其优点和缺点。
现在让我陈述一些可能有助于您做出决定的见解(基于您希望地图作为原生 android 应用程序的一部分,而不仅仅是 html5 应用程序的一部分 - 如果我错了,请纠正我):
您需要存储用户数据。
如果您想将数据存储在应用程序中,那么我想您可以省略第一个解决方案。在浏览器中使用地图正确维护数据将非常困难(甚至不可能)。维护数据的最佳方法是直接从网页与服务器通信并将数据存储在服务器上(因此您需要服务器后端)。您还可以通过为您自己的 url 架构注册一个意图过滤器来将一些数据从网页传递到活动。
使用方法 2 和 3 就不会出现此类问题,您可以使用 android 代码(如果您将地图嵌入到 webview 中,您可以通过binding javascript code to android code 访问 android 代码)。
您想使用 android 原生控件。
现在您也可以省略第一个解决方案,您在那里使用浏览器控件。在第二个解决方案中,您可以同时使用两者(地图不必填满整个屏幕,您也可以在 webview 上放置控件)。
Google Maps API v3 经常更新,目前比原生 API 更舒适。自 Android 1.6 以来,本机 API 并没有太多更新(不确定是否完全更新)。
从这 3 点来看,我更喜欢将 Google Maps API V3 嵌入到 web 视图中。当然,我可能错过了您应用的一些重要功能。