autojs之百度地图定位

news/2024/11/7 9:35:38/

使用场景

定位

效果展示

在这里插入图片描述

开发环境配置

软件版本
autojs8.7.3-0
java1.8.0_131
android studio4.1.2
mt管理器2.9.6

原理

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

准备工作

  1. 阅读百度地图官方文档

    http://lbsyun.baidu.com/index.php?title=android-locsdk

  2. 下载百度地图sdk, 文件类型为jar

    http://lbs.baidu.com/index.php?title=sdk/download&action#selected=location_all

  3. 将jar转为dex

    dx是android studio的命令, 我的路径: C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\30.0.3

    dx --dex --output=classes2.dex BaiduLBS_Android.jar
    

开始写代码

  1. 初始化LocationClient

    let mLocationClient = null;
    let myListener = getMyLocationListener();
    mLocationClient = new LocationClient(context);
    mLocationClient.registerLocationListener(myListener);
    
  2. 配置定位参数

    let option = new LocationClientOption();
    option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);
    option.setCoorType("bd09ll");
    option.setScanSpan(1000);
    option.setOpenGps(true);
    option.setLocationNotify(true);
    ...
    mLocationClient.setLocOption(option);
    
  3. 启动定位

    mLocationClient.start();
    
  4. 以上就是定位的所有代码

百度地图sdk配置

  1. 在AndroidManifest.xml文件中,填写AK。

    <meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="AK" >
    </meta-data>
    
  2. 在AndroidManifest.xml文件中Application标签中声明service组件

    <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
    
  3. 基于以上sdk的配置要求, 我们只能在打包的apk中调试定位功能, 因为要修改AndroidManifest.xml

注册和获取密钥

官网开发指南: http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key

SHA1的获取方法

  1. 概念: Android 签名证书的 SHA1 值
  2. 由于我们会使用mt管理器给打包后的app签名, 所以我们只要用mt随便修改一下app,
    然后签名, 再运行项目文件夹中的 显示sha1.js , 就可以获取到正确的sh1值了

sdk依赖

由于要启动服务com.baidu.location.f, 所以classes.dex中必须有这个类,

但是我们打包后的apk的classes.dex中, 是没有这个类的,

这个类在上面的准备工作classes2.dex中,

因此, 我们使用mt管理器, 将classes2.dex导入我们打包后的apk中

同时, sdk还有so依赖, 也用mt管理器添加进apk中

下载的sdk中有一个文件夹libs/armeabi-v7a

我们将文件夹里面的so文件, 放进apk中lib/armeabi-v7a

经过以上步骤, 百度地图的依赖就完整了, 就可以正常使用百度地图sdk定位功能了


查看完整源码


微信公众号 AutoJsPro教程

在这里插入图片描述

QQ群

747748653

在这里插入图片描述


http://www.ppmy.cn/news/622479.html

相关文章

wince 百度地图懒人包_百度导航车载wince版|百度地图winCE版 V10.9.2 安卓版 下载_当下软件园_软件下载...

百度地图winCE版是一款非常好用的车载地图导航APP。这款百度导航车载wince版基于wince技术开发,为每一位即将出行的用户提供最适合的路线规划,少走烂路、歪路,更快更精准的找到目的地。 【功能特点】 1、动态导航 交通路况实时播报 智能计算到达目的地所需的时间 避堵路线方…

百度地图关怀版(安卓)

进入地图首页&#xff0c;清清爽爽的&#xff0c;一点都不复杂&#xff0c;就三个简单的功能&#xff1a;查线路&#xff0c;一键回家&#xff0c;点击说话等等&#xff0c;对于有些打字困难的人群或者不方便打字的人来说&#xff0c;直接点击说话这个语音控制功能就很不错&…

html5 geolocation 百度地图,html5 geolocation配合百度地图api实现定位

1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。=> 使用时会有请求提示框,需要用户点击确认。 2.浏览器支持 Internet Explorer 9、Firefox、Chrome、Safari 以及 Op…

百度地图API自定义地图

百度地图API自定义地图 一、使用说明 JavaScript API v1.4及以前版本无须申请密钥&#xff08;ak&#xff09;&#xff0c;自v1.5版本开始需要先申请密钥&#xff08;ak&#xff09;&#xff0c;才可使用。仅JavaScript API V2.0 版本支持https&#xff0c;其他JavaScript A…

百度地图缩放级别与比例尺的关系

背景 最近做了一个项目&#xff0c;需要用户在缩放百度地图的时候&#xff0c;能根据地图缩放级别以及地图中心坐标&#xff0c;动态更新地图上的标注点&#xff08;比如根据地图缩放级别以及地图中心坐标动态获取手机屏幕视界范围内的共享单车位置&#xff09;&#xff0c;这…

android 百度地图 黑屏,百度地图 Fragment之间切换黑屏现象解决方案

用过百度地图的人多很忧伤,各种bug, 已无力吐槽,最无语的可能就是会出现黑屏现象,比如一个Activity包含三个Fragment, 其中一个Fragment嵌套MapView使用,在切换这三个Fragment时会出现明显的黑屏,这个问题出现很久了,很早的SDK版本就存在,现在最新的SDK版本依然存在这个…

php百度地图地址解析失败,百度地图web定位超时或不准

在web上使用了百度地图webapi&#xff0c;发现第二次定位的时候仍然显示的是上一次定位的信息 然而我在百度手机web版(就是map.baidu.com/mobile)重新授权定位后&#xff0c;发现回复的地址仍是以前定位的地址 请问这是百度地图手机web版的问题还是我机子的问题&#xff1f; 测…

百度地图android兼容,支持离线地图 百度地图Android版上线

尽管流量越来越便宜&#xff0c;但手机地图软件还是希望能够为用户节省下这笔资金。使用离线地图包&#xff0c;不仅节省了流量同时也省去了联网等待的时间&#xff0c;让定位或者导航功能更加快捷。继Symbian版之后&#xff0c;百度手机地图再次推出了Android版&#xff0c;同…