安卓高德地图定位。先看效果图:
STEP1:
先去高德开放平台注册账号,这个不用多说吧
网址:https://lbs.amap.com/
之后再去控制台-应用管理找到自己的key,如下图所示
STEP2:
回到AS 这里也可以去下载架包导入 我直接引入的
网址:https://lbs.amap.com/api/android-sdk/download
在module-build.gradle里引入即可,在点击右上角Sync Now即可
dependencies {
compile fileTree(include: [‘*.jar’], dir: ‘libs’)
//定位
compile ‘com.amap.api:location:latest.integration’
//地图
compile ‘com.amap.api:3dmap:latest.integration’
}
STEP3:布局文件 activity_map_location
STEP4:权限类
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
public class LocationUtils {
/**
* 初始化定位
*/
//初始化client
AMapLocationClient locationClient = new AMapLocationClient(context.getApplicationContext());
//设置定位参数
locationClient.setLocationOption(locationOption);
// 设置定位监听
locationClient.setLocationListener(locationListener);
return locationClient;
}
/**
* 定位参数
*/
public static AMapLocationClientOption getDefaultOption() {
AMapLocationClientOption mOption = new AMapLocationClientOption();
//可选,设置定位模式,可选的模式有高精度、仅设备、仅网络。默认为高精度模式
mOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//可选,设置是否gps优先,只在高精度模式下有效。默认关闭
mOption.setGpsFirst(false);
//可选,设置网络请求超时时间。默认为30秒。在仅设备模式下无效
mOption.setHttpTimeOut(25000);
//可选,设置定位间隔。默认为2秒
mOption.setInterval(2000);
//可选,设置是否返回逆地理地址信息。默认是true
mOption.setNeedAddress(true);
//可选,设置是否单次定位。默认是false
mOption.setOnceLocation(false);
//可选,设置是否等待wifi刷新,默认为false.如果设置为true,会自动变为单次定位,持续定位时不要使用
mOption.setOnceLocationLatest(false);
//可选, 设置网络请求的协议。可选HTTP或者HTTPS。默认为HTTP
AMapLocationClientOption.setLocationProtocol(AMapLocationClientOption.AMapLocationProtocol.HTTP);
//可选,设置是否使用传感器。默认是false
mOption.setSensorEnable(false);
//可选,设置是否开启wifi扫描。默认为true,如果设置为false会同时停止主动刷新,停止以后完全依赖于系统刷新,定位位置可能存在误差
mOption.setWifiScan(true);
//可选,设置是否使用缓存定位,默认为true
mOption.setLocationCacheEnable(true);
return mOption;
}
}P:6 MainActivity 返回信息:
https://lbs.amap.com/api/a