Android笔记(12)利用高德地图定位
来源:互联网 发布:php 判断是否含有中文 编辑:程序博客网 时间:2024/05/16 07:59
高德官网说明:http://lbs.amap.com/api/android-location-sdk/guide/android-location/getlocation
1.先获得一个key:http://lbs.amap.com/dev/key/app(文章尾部附获取SHA1方法)
2.添加权限处添加:
<anInterface android:name="com.amap.api.location.APSService"></anInterface>
3.下载jar:http://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/zip/AMap_Android_Location_SDK_All.zip
下载解压后打开Demo的app的libs,拿走jar,放在你的对应位置
4.在AndroidManifest中添加权限
<!--用于进行网络定位--><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>
5.设置高德Key,在AndroidManifest中的application标签中加入:
<meta-data android:name="com.amap.api.v2.apikey" android:value="key"><!--开发者申请的key--></meta-data>
6.在Activity中声明
public AMapLocationClient mLocationClient = null;//声明AMapLocationClient类对象 public AMapLocationClientOption mLocationOption = null;//声明AMapLocationClientOption对象
7.在Activity中设置
mLocationClient = new AMapLocationClient(context); mLocationClient.setLocationListener(new AMapLocationListener() {//设置定位回调监听 @Override public void onLocationChanged(AMapLocation aMapLocation) { if(!aMapLocation.getAddress().equals("")) { textView.setText(aMapLocation.getAddress());//显示地址 }else{ Toast.makeText(context,aMapLocation.getErrorInfo(),Toast.LENGTH_SHORT).show();//打印错误信息 } } }); mLocationOption = new AMapLocationClientOption();//初始化AMapLocationClientOption对象 mLocationOption.setLocationMode(AMapLocationMode.Hight_Accuracy);//设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。 //mLocationOption.setLocationMode(AMapLocationMode.Battery_Saving); //设置定位模式为AMapLocationMode.Battery_Saving,低功耗模式。 //mLocationOption.setLocationMode(AMapLocationMode.Device_Sensors);//设置定位模式为AMapLocationMode.Device_Sensors,仅设备模式。 mLocationOption.setOnceLocation(true);//获取一次定位结果://该方法默认为false。 mLocationOption.setOnceLocationLatest(true);//获取最近3s内精度最高的一次定位结果://设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。 //mLocationOption.setInterval(1000);//设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。 mLocationOption.setNeedAddress(true);//设置是否返回地址信息(默认返回地址信息) mLocationOption.setWifiActiveScan(false);//设置是否强制刷新WIFI,默认为true,强制刷新。 mLocationOption.setMockEnable(true);//设置是否允许模拟位置,默认为true,允许模拟位置 mLocationOption.setHttpTimeOut(15000);//设置定位请求超时时间,单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。 mLocationOption.setLocationCacheEnable(false);//关闭缓存机制
8.在Activity中开启定位
mLocationClient.setLocationOption(mLocationOption);//给定位客户端对象设置定位参数mLocationClient.startLocation();//启动定位
9.停止定位
mLocationClient.stopLocation();//停止定位后,本地定位服务并不会被销毁mLocationClient.onDestroy();//销毁定位客户端,同时销毁本地定位服务。
附:使用 keytool(jdk自带工具)获取SHA1
,按照如下步骤进行操作:
(1).运行进入控制台。
(2).在弹出的控制台窗口中输入 cd .android 定位到 .android 文件夹。
(3).继续在控制台输入命令。
命令为:keytool -list -v -keystore debug.keystore
阅读全文
0 0
- Android笔记(12)利用高德地图定位
- Android开发笔记----高德地图定位
- android 高德地图定位(地理位置) 笔记
- 高德地图定位功能(笔记)
- Android 高德地图SDK(定位)
- Android 高德地图定位
- android高德地图定位
- 利用高德地图实现定位功能
- 利用高德地图和腾讯地图的详细地址定位
- Android 利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)
- android---高德地图(2)---定位-显示小蓝点
- Android 高德地图定位(获取当前位置)
- android高德地图调用定位显示
- Android之高德地图定位
- Android高德地图的定位
- Android--高德地图自动定位
- android开发二--------高德地图定位
- Android之高德地图定位
- jetty: 请求的操作无法在使用用户映射区域打开的文件上执行
- Oracle创建存储过程及在Mybatis中的调用
- 动态添加碎片五步骤
- Unity API 学习 (部分)
- ubuntu 安装pip
- Android笔记(12)利用高德地图定位
- 安卓NDK开发案列三:文件的拆分与合并
- C++ DLL库实现
- 大牛deep learning入门教程
- spring中ioc与aop的理解
- mysql 字符集编码问题
- @requestBody and @responseBody注解作用
- Activity之启动模式
- Java获取当前日期时间的2种方法