维智 Android 定位SDK
入门指南
本指南是向 Android 应用添加地图、定位的快速入门指南。
第 1 步:下载并安装 Android Studio
按照 Android Studio 编译器安装指南下载并安装 Android Studio。(注:下载地址为Google官方网站)
第 2 步:获取维智 KEY
使用维智管理平台 需要您在官网控制台获取Key。
第 3 步:创建项目
按以下步骤新建一个 Empty Activity 的应用项目。
- 启动 Android Studio。如果您看到 Welcome to Android Studio 对话框,请选择 Start a new Android Studio project,否则,请点击 Android Studio 菜单栏中的 File,然后点击 New->New Project,按提示输入您的应用名称、公司域和项目位置。然后点击 Next。
- 选择您的应用所需的机型。如果您不能确定自己的需求,只需选择Phone and Tablet。然后点击 Next。
- 在“Add an activity to Mobile”对话框中选择 EmptyActivity。然后点击Next。
- 按提示输入 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()
}