android高德地图定位集成

本文详述了如何在Android项目中集成高德地图定位服务,包括在Eclipse和Android Studio中的配置步骤,AndroidManifest.xml的权限设置,初始化定位客户端,配置定位参数,以及获取和解析定位结果。此外,还介绍了定位模式、停止定位的方法,以及注意事项,如需在网络通畅和设备权限允许的情况下使用。
摘要由CSDN通过智能技术生成

进入高德开发者平台

参考:http://lbs.amap.com/api/android-location-sdk/locationsummary/

配置

下载

从网站下载并解压得到定位包“AMap_Location_V2.x.x.jar“。

Eclipse配置工程

开发工程中新建“libs”文件夹,将定位包拷贝到 libs 的根目录下。拷贝完成后的工程目录(以 V1.0.4 为例)如图所示:

image

注意:若您在 Eclipse 上使用 adt22 以下的版本插件,则需要在 Eclipse 上进行如下配置:

选中 Eclipse 的工程,右键选择 “Properties > Java Build Path > Order and Export”,勾选 “Android Private Libraries”。

Android Studio配置工程

1.打开Android Studio编译器,切换到project查看方式,如图所示:

高德地图工程配置

2.将下载的定位SDK的jar包复制到libs目录下,如果有老版本定位jar包在其中,请删除。如图所示:

高德地图工程配置

定位

进行定位之前,需要在 AndroidManifest.xml 文件中进行权限设置,确保定位功能可以正常使用。

配置AndroidManifest.xml

首先,请在application标签中声明service组件,每个app拥有自己单独的定位service。

1
<service android:name= "com.amap.api.location.APSService" ></service>

接下来声明使用权限

Android 6.0及以上系统可以参考Android 6.0权限说明章节

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--用于进行网络定位-->
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" ></uses-permission>
<!--用于访问GPS定位-->
<uses-permission android:name= "android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<!--获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name= "android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name= "android.permission.ACCESS_WIFI_STATE" ></uses-permission>
<!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name= "android.permission.CHANGE_WIFI_STATE" ></uses-permission>
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name= "android.permission.INTERNET" ></uses-permission>
<!--用于读取手机当前的状态-->
<uses-permission android:name= "android.permission.READ_PHONE_STATE" ></uses-permission>
<!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据-->
<uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>

最后设置Key,在application标签中加入

1
2
3
<meta-data android:name= "com.amap.api.v2.apikey" android:value= "key" > //开发者申请的key      
             
</meta-data>

点我获取Key

点我查看Key注册时必要数据SHA1和包名的获取方法

定位模式介绍

高德定位服务包含GPS和网络定位(Wi-Fi和基站定位)两种能力。定位SDK将GPS、网络定位能力进行了封装,以三种定位模式对外开放

高精度定位模式:会同时使用网络定位和GPS定位,优先返回最高精度的定位结果;

低功耗定位模式:不会使用GPS,只会使用网络定位(Wi-Fi和基站定位);

仅用设备定位模式:不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位。

初始化定位客户端

注:请在主线程中声明AMapLocationClient类对象,需要传Context类型的参数。推荐用getApplicationConext()方法获取全进程有效的context。

1
2
3
4
5
6
7
8
//声明AMapLocationClient类对象
public AMapLocationClient mLocationClient =  null ;
//声明定位回调监听器
public AMapLocationListener mLocationListener =  new AMapLocationListener();
//初始化定位
mLocationClient =  new AMapLocationClient(getApplicationContext());
//设置定位回调监听
mLocationClient.setLocationListener(mLocationListener);

配置定位参数

配置单次定位或连续定位也在此处,请仔细阅读。

设置定位参数包括:定位模式(高精度定位模式,低功耗定位模式和仅设备定位模式),是否返回地址信息等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值