您现在的位置: 主页 > 嵌入式操作系统 > Linux > 在本机 Android 应用程序中载入 Google Maps API 网站
本文所属标签:
为本文创立个标签吧:

在本机 Android 应用程序中载入 Google Maps API 网站

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-06-29 

目录

目标

为何将 V3 网页载入本机应用程序?

工作原理

布局

管理权限

编写代码

地图

后续步骤

目标

本辅导手册适用于熟悉 Android 开发的 Java 开发人员。本辅导手册中的代码将使用 1.1 版 Android SDK 和 Google Maps API 第 3 版。

完成本辅导手册的学习后,您将会获得一个应用程序,该应用程序可以载入 Google Map,并将 Android 设备提供的位置设为地图的中心。要查看本文的完整代码,请参见 Google 代码托管上的 gmaps-samples 项目。

本辅导手册并没有对 Android 开发作详尽介绍。有关 Android 使用入门的详细信息,请查看 Android 开发人员指南。

为何将 V3 网页载入本机应用程序?

Android 开发环境为开发人员提供了许多优势,其中包括:

请注意,存在一个本机 Android Google Maps API。一些开发人员当然希望仅在这样的环境中进行开发。然而,对于开发服务器上承载而不是应用程序中承载的 Google Maps API 网页,这些优势非常明显。

工作原理

使用WebView 将网页载入 Android 应用程序。实际上,WebView 会将一个浏览器嵌入到您的应用程序中。该浏览器将会显示一些控件,以供您确定载入网页的方式。通过这个嵌入的浏览器,您还可以向 Java 桥接公开一个 JavaScript,有了该 JavaScript,您就可以从 JavaScript 网页调用自己的本机 Android 应用程序中的 Java 方法了。通过此 WebView,您还可以直接从自己的 Java 应用程序中调用 JavaScript。

在创建一个新的 Android 空应用程序之后,您必须修改或创建四个基本组件才能构建自己的 WebView

您的布局。在此应用程序中,布局位于 res/layout/main.xml 文件中。

Android 清单文件,可帮助您管理在设备上使用互联网和位置服务的权限。

一个用于创建和管理 WebViewactivity. 的Java 类。

应用程序将载入的地图。

我们将会在下面的几个部分中介绍上述各个组件。

布局

布局文件可定义用户界面的组件。您需要添加 WebView 才能创建将载入网页的元素。将此元素添加到您的 LinearLayout 中:

添加将填充屏幕的 WebView 元素。请注意, WebView 元素具有 android:id="@+id/webview" 属性。这使应用程序能够通过 ID webview 识别WebView

管理权限

要访问 Android 设备上的一些服务(如互联网和位置信息),应用程序必须请求相应权限。通过每个应用程序都必须具有的 AndroidManifest.xml 文件实现此权限请求。用户安装该应用程序时,设备将要求用户批准此请求。如果用户不批准此请求,那么,系统不会安装该应用程序。如果用户批准此请求,系统将会安装该应用程序,并且该应用程序可以访问所需的服务。

要授予该应用程序对互联网和位置服务的访问权限,请将以下三行添加到 AndroidManifest.xml 文件中:

第一行提供对互联网的访问权限,这样,您的应用程序就可以使用互联网资源了。第二行提供对设备大致位置的访问权限。这来自不同的源(具体取决于您的设备),但通常来自使用 WiFi 或 CellId 查找功能获得的大致位置。第三行提供对您的更准确位置的访问权限,通常来自设备中的 GPS。

编写代码

要将地图载入您的应用程序,请创建 WebView ,让它能够使用 JavaScript,然后将网址载入网页。如果要使用位置信息,可通过 JavaScript 接口进行公开。此示例代码使用 WebMapActivity 类,该类可扩展 Activity。Activity 是基本接口,用于在 Android 应用程序中创建视觉互动。

要启用位置跟踪,您需要执行几个步骤。首先,必须从设备获取位置。WebMapActivity 使用LocationManager 获取位置。LocationManager 需要使用侦听器。在此示例中,WebMapActivity 实现LocationListener,并充当 LocationManager 的侦听器。

这将创建一个 Location 对象,您可以通过查询该对象来获取设备已知的最后一个位置。这样,您可以有两种选择。

centerAt 会将设备提供的位置设为地图的中心:

以下示例公开了一个接口 window.android,可以通过页面中的 JavaScript 调用直接访问该接口。通过此接口,您可以有效地向网页公开内部的 Android 服务。但其缺点是通用性较差,仅当在 Android 设备上载入网页时才可用。如果您要以这种方式进行开发,最佳做法是测试 window.android,并在这些服务不可用时回退。

地图

接下来,像往常一样创建地图。此示例代码测试 window.android(或您为 JavaScript 桥接指定的任何名称)是否存在;如果不存在,则将中心设置为 0,0。此示例还公开了 centerAt 函数,该函数允许 Android 应用程序通过 JavaScript 来设置中心:

在手机上载入地图后,地图的外观将会如下所示:

后续步骤

由于您已经创建了一个基本的应用程序,因此,您现在可以利用 Android 平台提供的其他服务。例如,您可以:

当然,在您开发 Android 应用程序后,可以将该程序发布到 Android 电子市场。



              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Linux > 在本机 Android 应用程序中载入 Google Maps API 网站
 应用程序 位置 载入

"在本机 Android 应用程序中载入 Google Maps API 网站"的相关文章

网站地图

围观()