高德地图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
) {