前言

地图作为开发中三方sdk中较常遇到的一项,集成起来并不麻烦但是不小心踩坑可能会浪费较多时间,如果项目中多处使用还容易造成代码大量冗余,今天我们来将高德地图定位功能集成一个功能化模块,只需两分钟应用到项目中。
GitHub:LocationDemo
友情链接:996icu

正文

以下操作均在子module—amapservice中设置,在主模块只需简单调用即可

1、准备工作

Android Studio 配置工程
官方文档写的已经很详细了在此不再赘述,其实也没必要看,因为我在模块中已经集成好了,当然要是想自己一步一步来需要看下。

2、设置key

为什么单独把这个拎出来?因为这个将是使用过程中最耗时的步骤,并不是多麻烦,是因为这个必须自己来操作,获取key步骤这里有个小问题,就是按照高德获取SHA1 的话并不是那么方便,甚至可能花费半天也很难获取到,因为电脑配置不同,建议使用百度经验推荐的这种AS简单获取SHA1值方法
下面贴上amapservice中AndroidManifest代码

image.png

如图所示,当然为了动态获取权限,可以把这些移到主module中以便安卓6.0以后动态访问权限。
3、自定义地图服务类和调用工具类

代码很简单 直接上

定位服务类
调用工具类
4、调用
调用代码

红线内是调用代码,可以通过aMapLocation获取城市经纬度等一系列定位信息。

注意

此demo未配置安卓6.0以上动态访问权限,安卓6.0以上系统手机试用时请自行前往设置打开定位权限。
完整代码请移步(GitHub)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐