维智 Android 定位SDK

入门指南

本指南是向 Android 应用添加地图、定位的快速入门指南。

第 1 步:下载并安装 Android Studio

按照 Android Studio 编译器安装指南下载安装 Android Studio。(注:下载地址为Google官方网站)

第 2 步:获取维智 KEY

使用维智管理平台 需要您在官网控制台获取Key

第 3 步:创建项目

按以下步骤新建一个 Empty Activity 的应用项目。

  1. 启动 Android Studio。如果您看到 Welcome to Android Studio 对话框,请选择 Start a new Android Studio project,否则,请点击 Android Studio 菜单栏中的 File,然后点击 New->New Project,按提示输入您的应用名称、公司域和项目位置。然后点击 Next。
  2. 选择您的应用所需的机型。如果您不能确定自己的需求,只需选择Phone and Tablet。然后点击 Next。
  3. 在“Add an activity to Mobile”对话框中选择 EmptyActivity。然后点击Next。
  4. 按提示输入 Activity 名称、布局名称和标题。使用默认值即可。然后点击 Finish。

第 4 步:下载并安装定位开发包

官网下载按照需求下载开发包并解压。

解压后,会得到一个jar文件,请您将jar文件添加到工程中,操作步骤请参考开发指南的 Android Stuido jar文件安装步骤。

第 5 步:Hello WZLocation

请查看 Android Studio 项目中的下列文件。

1、配置 AndroidManifest.xml 文件

默认情况下,AndroidManifest.xml 位于所设置项目目录main文件下。主要用于配置维智定位 Key 和申请权限:

在AndroidManifest.xml的application标签中配置Key:

<meta-data
    android:name="com.wayz.location.appkey"
    android:value="${wz_key}" />

在application标签中声明service组件:

<service android:name="com.wayz.location.WzService"></service>

在AndroidManifest.xml中配置权限:

<!-- 用户读取保存的 ID 文件-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--允许获取粗略位置,粗略定位必选-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--允许获取精确位置,精准定位必选-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许访问网络,必选权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许获取网络状态,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许获取wifi网络信息,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许获取wifi状态改变,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--后台获取位置信息,若需后台定位则必选-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

2、实现定位

如下几行代码可以帮助您实现最基础的定位功能

private lateinit var client: WzLocationClient
private lateinit var option: WzLocationClientOption

private fun initLocationClient() {
    option = WzLocationClientOption()
    // 回调间隔
    option.interval = 5000
    option.isFastLocation = false
    option.setOnceLocate(false)
    client = WzLocationClient(this@BasicLocActivity, option)
    client?.startLocation(this@BasicLocActivity)
}

override fun onLocationReceived(location: WzLocation) {
    // 定位结果返回
}

override fun onLocationError(exception: WzException) {
    tv.text = StringBuilder().append("数据异常:").append(exception.errorMessage).toString()
}