Android开发--Android 高德地图(带有定位和点击显示经度纬度)
小职 2021-09-02 来源 :「彬sir哥」原文链接:https://blog.csdn.net/qq_35091074/arti 阅读 2926 评论 0

摘要:本文主要介绍了Android开发--Android 高德地图(带有定位和点击显示经度纬度),通过具体的内容向大家展现,希望对大家Android开发的学习有所帮助。

本文主要介绍了Android开发--Android 高德地图(带有定位和点击显示经度纬度),通过具体的内容向大家展现,希望对大家Android开发的学习有所帮助。

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

1.Android高德地图Demo地址下载: 

      下载android高德地图Demo 

1.2 Android定位SDK 一键下载 

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

1.3 下载好的文件zip,如下: 

 Android开发--Android 高德地图(带有定位和点击显示经度纬度)

1.4 解压这zip后找定位demo文件 

 Android开发--Android 高德地图(带有定位和点击显示经度纬度)

2.这demo文件里的libs文件中带有.so和.jar文件,如下: 

 Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.AndroidManifest.xml,申请自己的key

        <!-- 设置key -->

        <meta-data

            android:name="com.amap.api.v2.apikey"

            android:value="您申请的key"/>


3.1 申请自己的key值

          获取key

3.2 立即注册(必须要开通支付宝认证),我注册的是短信验证码

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.3 注册账号后到控制台点击“应用管理”——“我的应用”——“创建新应用”

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.4 点击“添加”

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.5 填写信息,如下:

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.5.1 发布版安全码SHA1如何填写多少,可以点击“如何获取”,如下:

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

3.6 获取key值成功,如下:

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

4.添加权限


    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>

    

    <!-- 请求网络 -->

    <uses-permission android:name="android.permission.INTERNET"/>


    <!-- 不是SDK需要的权限,是示例中的后台唤醒定位需要的权限 -->

    <uses-permission android:name="android.permission.WAKE_LOCK"/>


    <!-- 需要运行时注册的权限 -->

    <!-- 用于进行网络定位 -->

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    <!-- 用于访问GPS定位 -->

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!-- 用于提高GPS定位速度 -->

    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>

    <!-- 写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据 -->

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <!-- 读取缓存数据 -->

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>


    <!-- 用于读取手机当前的状态 -->

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>


    <!-- 更改设置 -->

    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>


    <!--如果设置了target >= 28 如果需要启动后台定位则必须声明这个权限-->

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

    <!--如果您的应用需要后台定位权限,且有可能运行在Android Q设备上,并且设置了target>28,必须增加这个权限声明-->

    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>


5.strings.xml


<?xml version="1.0" encoding="utf-8"?>

<resources>


    <string name="app_name">高德定位SDK示例</string>

    <string name="title_main">高德定位SDK功能展示</string>


<string name="title_location">获取定位数据</string>

    <string name="location">获取定位数据</string>

    <string name="location_dec">调用定位接口获取定位数据</string>


<string name="title_geoFence">地理围栏</string>

    <string name="geoFence">地理围栏</string>

    <string name="geoFence_dec">展示地理围栏功能</string>


<string name="roundGeoFence">圆形地理围栏</string>

    <string name="roundGeoFence_dec">展示圆形地理围栏</string>


<string name="polygonGeoFence">多边形地理围栏</string>

    <string name="polygonGeoFence_dec">展示多边形地理围栏</string>


<string name="keywordGeoFence">关键字地理围栏</string>

    <string name="keywordGeoFence_dec">展示关键字地理围栏</string>


<string name="nearbyGeoFence">周边地理围栏</string>

    <string name="nearbyGeoFence_dec">展示周边地理围栏</string>


<string name="districtGeoFence">行政区划地理围栏</string>

    <string name="districtGeoFence_dec">展示行政区划地理围栏</string>


<string name="multipleGeoFence">综合展示</string>

    <string name="multipleGeoFence_dec">综合展示地理围栏的功能</string>



<string name="oldGeoFence">旧版地理围栏</string>

    <string name="oldGeoFence_dec">旧版地理围栏,不建议使用</string>



<string name="title_assistantLocation">H5辅助定位</string>

    <string name="assistantLocation">H5辅助定位</string>

    <string name="assistantLocation_dec">展示H5辅助定位功能</string>


<string name="title_tools">地图计算工具</string>

    <string name="tools">地图计算工具</string>

    <string name="tools_dec">坐标转换等功能演示</string>


<string name="title_lastLocation">获取最后一次位置</string>

    <string name="lastLocation">获取最后一次位置</string>

<string name="lastLocation_dec">获取最后一次定位的位置,此位置是一个历史位置</string>



<string name="title_alarmCPU">定时唤起CPU</string>

    <string name="alarmCPU">定时唤起cpu</string>

<string name="alarmCPU_dec">通过一个闹钟程序后台定时唤起cpu</string>


<string name="title_errorCode">错误码说明</string>

<string name="errorCode">错误码说明</string>

<string name="errorCode_dec">错误码说明以及对应的解决方法</string>


<string name="defaultInteval">2000</string>

<string name="defaultHttpTimeout">30000</string>


<string name="battery_saving">低功耗模式</string>

    <string name="device_sensors">仅设备模式</string>

    <string name="hight_accuracy">高精度模式</string>

    <string name="interval">定位周期(ms)</string>

<string name="httpTimeout">网络超时(ms)</string>

<string name="location_once">单次定位</string>

<string name="needAddress">逆地理编码</string>

<string name="cacheAble">开启缓存</string>

<string name="onceLastest">提高首次定位精度</string>

<string name="gpsFirst">GPS优先</string>

    <string name="useSensor">使用传感器</string>

    <string name="wifiScan">开启wifi扫描</string>


<string name="geoLanguage">逆地理语言</string>



<string name="alarmInterval">唤醒周期(s)</string>


<string name="startLocation">开始定位</string>

<string name="stopLocation">停止定位</string>


<string name="fenceRadius">围栏半径</string>

<string name="meter">米</string>

<string name="activatesAction">触发条件</string>

<string name="alertIn">进入</string>

<string name="alertOut">离开</string>

<string name="alertStated">停留</string>

<string name="addFence">添加围栏</string>

<string name="removeFence">移除围栏</string>


<string name="hideOption">隐藏设置</string>

<string name="showOption">显示设置</string>


<string name="showList">显示列表</string>

<string name="hideList">隐藏列表</string>


<string name="fence_round">圆形围栏</string>

<string name="fence_polygon">多边形</string>

<string name="fence_keyword">关键字围栏</string>

<string name="fence_nearby">周边围栏</string>

<string name="fence_district">行政区划围栏</string>


<string name="getLastLocation">获取最后位置</string>


<string name="startAssistantLocation">启动H5辅助定位</string>

<string name="stopAssistantLocation">停止H5辅助定位</string>

<string name="urlLocation">浏览器定位</string>

<string name="assistantLocationInfo">辅助定位已经启动,请点击模拟浏览器请求或者在浏览器中输入//127.0.0.1:43689/进行测试</string>


<string name="coordinateConvert">坐标转换</string>

<string name="checkIsChina">位置区域判断</string>


<string name="notifyTitle">提示</string>

<string name="notifyMsg">当前应用缺少必要权限。\n\n请点击\"设置\"-\"权限\"-打开所需权限。</string>

<string name="setting">设置</string>

<string name="cancel">取消</string>


<string name="start">开始</string>

<string name="stop">停止</string>

<string name="locationPurpose">场景定位</string>

<string name="locationPurpose_dec">展示根据场景进行定位,设置场景后SDK内部会帮助设置相关属性</string>


<string name="signIn">签到</string>

<string name="signInPurpose">签到场景</string>

<string name="signInPurpose_dec">只进行一次定位返回最接近真实位置的定位结果(定位速度可能会延迟1-3s)</string>


<string name="transportPurpose">出行场景</string>

<string name="transportPurpose_dec">高精度连续定位,适用于有户内外切换的场景,GPS和网络定位相互切换,GPS定位成功之后网络定位不再返回,GPS断开之后一段时间才会返回网络结果</string>


<string name="sportPurpose">运动场景</string>

<string name="sportPurpose_dec">高精度连续定位,适用于有户内外切换的场景,GPS和网络定位相互切换,GPS定位成功之后网络定位不再返回,GPS断开之后一段时间才会返回网络结果</string>



<string name="title_locationBackground">后台定位示例</string>

<string name="locationBackground">后台定位</string>

<string name="locationBackground_dec">Android 8.0后台定位示例</string>


<string name="enableBackgroundLocation">开启后台定位</string>

<string name="disableBackgroundLocation">关闭后台定位</string>


<string name="errorCodeInfo">

    0 定位成功。 可以在定位回调里判断定位返回成功后再进行业务逻辑运算\n

    1 一些重要参数为空,如context; 请对定位传递的参数进行非空判断\n

    2 定位失败,由于仅扫描到单个wifi,且没有基站信息。 请重新尝试\n

    3 获取到的请求参数为空,可能获取过程中出现异常。 请对所连接网络进行全面检查,请求可能被篡改\n

    4 请求服务器过程中的异常,多为网络情况差,链路不通导致 请检查设备网络是否通畅\n

    5 返回的XML格式错误,解析失败。 请稍后再试\n

    6 定位服务返回定位失败。 请将errorDetail(通过getLocationDetail()方法获取)信息通过工单系统反馈给我们\n

    7 KEY鉴权失败。 请仔细检查key绑定的sha1值与apk签名sha1值是否对应,或通过高频问题查找相关解决办法\n

    8 Android exception常规错误 请将errordetail(通过getLocationDetail()方法获取)信息通过工单系统反馈给我们\n

    9 定位初始化时出现异常。 请重新启动定位\n

    10 定位客户端启动失败。 请检查AndroidManifest.xml文件是否配置了APSService定位服务\n

    11 定位时的基站信息错误。 请检查是否安装SIM卡,设备很有可能连入了伪基站网络\n

    12 缺少定位权限。 请在设备的设置中开启app的定位权限\n

    13 定位失败,由于设备未开启WIFI模块或未插入SIM卡,且GPS当前不可用。 建议开启设备的WIFI模块,并将设备中插入一张可以正常工作的SIM卡,或者检查GPS是否开启;如果以上都内容都确认无误,请您检查App是否被授予定位权限\n

    14  GPS 定位失败,由于设备当前 GPS 状态差。 建议持设备到相对开阔的露天场所再次尝试\n

    15 定位结果被模拟导致定位失败。 如果您希望位置被模拟,请通过setMockEnable(true);方法开启允许位置模拟\n

    16 当前POI检索条件、行政区划检索条件下,无可用地理围栏。 建议调整检索条件后重新尝试,例如调整POI关键字,调整POI类型,调整周边搜区域,调整行政区关键字等\n

    17 相同的地理围栏已经存在,无需重复添加\n

    18 飞行模式下关闭了WIFI开关,请关闭飞行模式或者打开WIFI开关\n

    19 没有检查到SIM卡,并且关闭了WIFI开关,请打开WIFI开关或者插入SIM卡\n

</string>


<string name="locDiagnose_title">定位诊断组件</string>

<string name="locDiagnose_desc">演示定位诊断组件</string>

<string name="locDiagnose_detail">

定位诊断组件,检查定位的必要条件,并给出建议。\n

定位诊断组件代码已上传到示例中心,git地址:https://github.com/amap-demo/android-location-diagnose.git

</string>

<string name = "startDiagnose">开始诊断</string>

</resources>


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

Android开发--Android 高德地图(带有定位和点击显示经度纬度)

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程