高德地图3D离线定位

本文档详细介绍了如何在应用中实现高德地图的3D离线定位功能,包括获取必要的权限、设置高德MapKey、在Application中初始化定位服务以及配置和启动定位参数。
摘要由CSDN通过智能技术生成


高德地图API 点击打开链接


根据文档编写,只能用来借鉴。


 


声明权限

<!--用于进行网络定位-->
<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>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<!--用于申请获取蓝牙信息进行室内定位-->
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>



设置高德key

在application

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



初始化定位

//声明AMapLocationClient类对象
public AMapLocationClient LocationClient = null;
//声明定位回调监听器
public AMapLocationListener LocationListener = new AMapLocationListener();
//初始化定位
LocationClient = new AMapLocationClient(getApplicationContext());
//设置定位回调监听
LocationClient.setLocationListener(LocationListener);



配置定位参数,和启动定位

  
  
  
  
//声明AMapLocationClientOption对象
public AMapLocationClientOption  opsition  null ;
//初始化AMapLocationClientOption对象
opsition new AMapLocationClientOption();


//初始化定位参数
        opsition = new AMapLocationClientOption();
        //设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
        opsition.setLocationMode( AMapLocationClientOption.AMapLocationMode.Hight_Accuracy );
        //设置是否返回地址信息(默认返回地址信息)
        opsition.setNeedAddress( true );
        //设置是否只定位一次,默认为false
        opsition.setOnceLocation( false );
        //设置是否强制刷新WIFI,默认为强制刷新
        opsition.setWifiActiveScan( true );
        //设置是否允许模拟位置,默认为false,不允许模拟位置
        opsition.setMockEnable( false );
        //设置定位间隔,单位毫秒,默认为2000ms
        opsition.setInterval( 5000 );
        //给定位客户端对象设置定位参数
        locationClient.setLocationOption( opsition );
        //启动定位
        locationClient.startLocation();



获取定位结果

//可以通过类implement方式实现AMapLocationListener接口,也可以通过创造接口类对象的方法实现
//以下为后者的举例:
AMapLocationListener mAMapLocationListener = new AMapLocationListener(){
@Override
public void onLocationChanged(AMapLocation amapLocation) {
     
     
     
     
if (amapLocation !=  null ) {
     if (amapLocation.getErrorCode() ==  0 ) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值