使用场景
定位
效果展示
开发环境配置
软件 | 版本 |
---|---|
autojs | 8.7.3-0 |
java | 1.8.0_131 |
android studio | 4.1.2 |
原理
autojs使用高地地图sdk, 实现设备定位
准备工作
-
阅读高德地图官方文档
https://lbs.amap.com/api/android-location-sdk/locationsummary/
-
下载jar: AMap_Location_V5.3.0_20210317.jar
https://lbs.amap.com/api/android-location-sdk/download/
-
将jar转为dex
dx是android studio的命令, 我的路径: C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\30.0.3
dx --dex --output=AMap_Location_V5.3.0_20210317.dex AMap_Location_V5.3.0_20210317.jar
开始写代码
-
加载dex
let dexPath = "AMap_Location_V5.3.0_20210317.dex"; runtime.loadDex(dexPath);
-
初始化定位
// 初始化定位 //声明AMapLocationClient类对象 let mLocationClient = null; //初始化定位 mLocationClient = new AMapLocationClient(context); //设置定位回调监听 mLocationClient.setLocationListener(getAMapLocationListener());
-
配置定位参数
//声明AMapLocationClientOption对象 let mLocationOption = null; //初始化AMapLocationClientOption对象 mLocationOption = new AMapLocationClientOption(); //设置定位场景,目前支持三种场景(签到、出行、运动,默认无场景) mLocationOption.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn); //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); //获取一次定位结果: mLocationOption.setOnceLocation(true); //设置是否返回地址信息(默认返回地址信息) mLocationOption.setNeedAddress(true); //给定位客户端对象设置定位参数 mLocationClient.setLocationOption(mLocationOption);
-
启动定位
//设置场景模式后最好调用一次stop,再调用start以保证场景模式生效 mLocationClient.stopLocation(); mLocationClient.startLocation();
-
退出时释放资源
events.on("exit", () => { log("exit"); log("stopLocation"); mLocationClient.stopLocation(); //停止定位后,本地定位服务并不会被销毁 log("onDestroy"); mLocationClient.onDestroy(); //销毁定位客户端,同时销毁本地定位服务。 });
-
以上就是autojs使用高德地图定位的所有步骤
微信公众号 AutoJsPro教程
QQ群
747748653