(转)android使用高德地图SDK获取定位信息
2017-11-28 10:53
477 查看
原地址:http://blog.csdn.net/code_better/article/details/54936439
注册账号、创建应用、获取API KEY等这些就不说了,按照官网来就行,我们来讲讲项目的配置及示例代码。
高德地图获取定位信息配置要比百度地图简单多了,这是我比较喜欢的一点,而且之前用百度地图嵌入一个应用时,有的手机可以定位成功,有的却无法启动定位。
言归正传,第一步,我们需要下载SDK:http://lbs.amap.com/api/android-location-sdk/download/
第二步,解压后,将jar包放进libs文件夹中,并加入环境变量中。
第三步,在AndroidManifest.xml文件中配置权限:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
并在application标签中添加:
2
3
4
第四步,测试代码:
注册账号、创建应用、获取API KEY等这些就不说了,按照官网来就行,我们来讲讲项目的配置及示例代码。
高德地图获取定位信息配置要比百度地图简单多了,这是我比较喜欢的一点,而且之前用百度地图嵌入一个应用时,有的手机可以定位成功,有的却无法启动定位。
言归正传,第一步,我们需要下载SDK:http://lbs.amap.com/api/android-location-sdk/download/
第二步,解压后,将jar包放进libs文件夹中,并加入环境变量中。
第三步,在AndroidManifest.xml文件中配置权限:
<!--用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!--用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!--用于获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!--用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <!--用于访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET"/> <!--用于读取手机当前的状态--> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!--用于写入缓存数据到扩展存储卡--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!--用于申请调用A-GPS模块--> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
并在application标签中添加:
<meta-data android:name="com.amap.api.v2.apikey" android:value="你申请的key" /> <service android:name="com.amap.api.location.APSService" />1
2
3
4
第四步,测试代码:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationClientOption; import com.amap.api.location.AMapLocationListener; public class MainActivity extends AppCompatActivity { //声明AMapLocationClient类对象 public AMapLocationClient mLocationClient = null; //声明定位回调监听器 public AMapLocationListener mLocationListener = new MyAMapLocationListener(); //声明AMapLocationClientOption对象 public AMapLocationClientOption mLocationOption = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { //初始化定位 mLocationClient = new AMapLocationClient(getApplicationContext()); //设置定位回调监听 mLocationClient.setLocationListener(mLocationListener); //初始化AMapLocationClientOption对象 mLocationOption = new AMapLocationClientOption(); //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy); //获取一次定位结果: //该方法默认为false。 mLocationOption.setOnceLocation(false); //获取最近3s内精度最高的一次定位结果: //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。 mLocationOption.setOnceLocationLatest(true); //设置是否返回地址信息(默认返回地址信息) mLocationOption.setNeedAddress(true); //设置是否允许模拟位置,默认为false,不允许模拟位置 mLocationOption.setMockEnable(false); //关闭缓存机制 mLocationOption.setLocationCacheEnable(false); //给定位客户端对象设置定位参数 mLocationClient.setLocationOption(mLocationOption); //启动定位 mLocationClient.startLocation(); } private class MyAMapLocationListener implements AMapLocationListener { @Override public void onLocationChanged(AMapLocation aMapLocation) { if (aMapLocation != null) { if (aMapLocation.getErrorCode() == 0) { Log.e("位置:", aMapLocation.getAddress()); } else { //定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。 Log.e("AmapError", "location Error, ErrCode:" + aMapLocation.getErrorCode() + ", errInfo:" + aMapLocation.getErrorInfo()); } } } } }
相关文章推荐
- android使用高德地图SDK获取定位信息
- 使用高德地图SDK获取定位信息
- android使用百度地图定位(获取当前经纬度和地址信息)
- Android使用百度地图定位(获取当前经纬度和地址信息)
- 使用Android原生的Api进行GPS定位获取位置信息
- android使用百度地图SDK获取定位信息
- android使用百度地图SDK获取定位信息
- Android中使用GPS和NetWork获取定位信息
- Android第三方框架之学习高德地图SDK-----①集成环境,获取定位信息,地图显示。
- Android中使用GPS和NetWork获取定位信息
- android中使用LocationManager定位获取信息
- android使用百度地图SDK获取定位信息
- android使用百度地图SDK获取定位信息示例
- Android使用百度定位API时获取的地址信息为null
- Android使用百度定位API时获取的地址信息为null
- android使用百度地图定位(获取当前经纬度和地址信息)
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一) .
- Android开源代码解读の使用TelephonyManager获取移动网络信息
- 获取android手机的定位信息(转)