autojs之高德地图定位 使用场景

简介: autojs之高德地图定位使用场景

使用场景


定位


效果展示



开发环境配置

软件

版本

autojs

8.7.3-0

java

1.8.0_131

android studio

4.1.2


原理


autojs使用高地地图sdk, 实现设备定位

由于高德文档约定要在AndroidManifest.xml配置Key,

所以只能在打包后的app中使用高德SDK,

key怎么来

  1. 在高德控制台创建应用
  2. 添加key, sha1, 包名
  3. 注意区分key的名字和key的值, 我们要的是值


准备工作


  1. 阅读高德地图官方文档

https://lbs.amap.com/api/android-location-sdk/locationsummary/

  1. 下载jar: AMap_Location_V5.3.0_20210317.jar

https://lbs.amap.com/api/android-location-sdk/download/

  1. 将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


开始写代码


  1. 加载dex
let dexPath = "AMap_Location_V5.3.0_20210317.dex";
runtime.loadDex(dexPath);


  1. 初始化定位
// 初始化定位
//声明AMapLocationClient类对象
let mLocationClient = null;
//初始化定位
mLocationClient = new AMapLocationClient(context);
//设置定位回调监听
mLocationClient.setLocationListener(getAMapLocationListener());


  1. 配置定位参数
//声明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);


  1. 启动定位
//设置场景模式后最好调用一次stop,再调用start以保证场景模式生效
mLocationClient.stopLocation();
mLocationClient.startLocation();


  1. 退出时释放资源
events.on("exit", () => {
  log("exit");
  log("stopLocation");
  mLocationClient.stopLocation(); //停止定位后,本地定位服务并不会被销毁
  log("onDestroy");
  mLocationClient.onDestroy(); //销毁定位客户端,同时销毁本地定位服务。
});


  1. 以上就是autojs使用高德地图定位的所有步骤, 下面有完整源码


名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问

--- 牙叔教程


声明

部分内容来自网络

本教程仅用于学习, 禁止用于其他用途

相关文章
|
测试技术 Android开发
autojs动态修改图片src
牙叔教程 简单易懂
1239 0
|
Android开发
autojs无Root访问data目录实现
牙叔教程 简单易懂
3214 0
|
Android开发
Autox.js 脚本开发环境搭建,从案例到打包apk(详细流程)
Autox.js 脚本开发环境搭建,从案例到打包apk(详细流程)
3906 0
|
JavaScript API
required string parameter ‘XXX‘is not present 的几种情况
required string parameter ‘XXX‘is not present 的几种情况
3015 0
|
机器人 测试技术 Python
作为测试人员,RobotFramework框架真的是必须掌握的吗?
本文探讨了Robot Framework(RF)作为自动化测试框架的重要性,指出虽然RF具有易用性和灵活性,但并非测试人员必须掌握的工具,因为存在许多可替代的自动化测试解决方案。
337 0
作为测试人员,RobotFramework框架真的是必须掌握的吗?
|
算法 Java 数据安全/隐私保护
App逆向百例|12|某电商App Sign分析
App逆向百例|12|某电商App Sign分析
1081 0
|
搜索推荐 Java 自然语言处理
计算文本相似度的几种方法
计算文本相似度的几种方法
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。
autojs之选择文件
使用场景 调用手机自带的文件管理 选择文件
693 0