入门指南
本指南是向 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中配置权限:
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!--用于读取手机当前的状态,获取基站信息-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<!-- 基础前台服务权限(兼容 Android 8.0-11) -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<!-- Android 12+ 定位类前台服务专用权限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"/>
<!-- 后台定位核心权限(Android 10+) -->
<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()
}
