android 高德地图定位获取经纬度
android 高德地图定位获取经纬度
之前开发定位都是集成百度的,领导说要用高德的,没办法干吧,官方的文档太详细了看着真累。
我们得先去官网注册开发者账号,创建应用,填写自己项目的包名和SHA1,
SHA1怎么获取这个就是看官方的文档了,比较详细,然后生成key值下载jar包到lib下
下面是代码,有注释
<!-- 地图包、搜索包需要的基础权限 --><uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 定位包、导航包需要的额外权限(注:基础权限也需要) -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
AndroidManifest.xml 文件的application标签里面添加
<meta-dataandroid:name="com.amap.api.v2.apikey"android:value="填写自己项目的key"></meta-data><activity android:name=".activity.domeActivity"></activity>/*开启定位*/
private void location() {//初始化定位mLocationClient = new AMapLocationClient(getApplicationContext());//设置定位回调监听mLocationClient.setLocationListener(this);//初始化定位参数mLocationOption = new AMapLocationClientOption();//设置定位模式为Hight_Accuracy高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//设置是否返回地址信息(默认返回地址信息)mLocationOption.setNeedAddress(true);//设置是否只定位一次,默认为falsemLocationOption.setOnceLocation(true);//设置是否强制刷新WIFI,默认为强制刷新mLocationOption.setWifiActiveScan(true);//设置是否允许模拟位置,默认为false,不允许模拟位置mLocationOption.setMockEnable(false);//设置定位间隔,单位毫秒,默认为2000msmLocationOption.setInterval(2000);//给定位客户端对象设置定位参数mLocationClient.setLocationOption(mLocationOption);//启动定位mLocationClient.startLocation();
}@Override
public void onLocationChanged(AMapLocation aMapLocation) {if (aMapLocation != null) {if (aMapLocation.getErrorCode() == 0) {//可在其中解析amapLocation获取相应内容。aMapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见定位类型表lat = aMapLocation.getLatitude();//获取纬度lon = aMapLocation.getLongitude();//获取经度aMapLocation.getAccuracy();//获取精度信息aMapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。aMapLocation.getCountry();//国家信息aMapLocation.getProvince();//省信息aMapLocation.getCity();//城市信息aMapLocation.getDistrict();//城区信息aMapLocation.getStreet();//街道信息aMapLocation.getStreetNum();//街道门牌号信息aMapLocation.getCityCode();//城市编码aMapLocation.getAdCode();//地区编码aMapLocation.getAoiName();//获取当前定位点的AOI信息//获取定位时间SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = new Date(aMapLocation.getTime());df.format(date);// 如果不设置标志位,此时再拖动地图时,它会不断将地图移动到当前的位置if (isFirstLoc) {//获取定位信息StringBuffer buffer = new StringBuffer();buffer.append(aMapLocation.getCountry() + ""+ aMapLocation.getProvince() + ""+ aMapLocation.getCity() + ""+ aMapLocation.getProvince() + ""+ aMapLocation.getDistrict() + ""+ aMapLocation.getStreet() + ""+ aMapLocation.getStreetNum());Toast.makeText(getApplicationContext(), buffer.toString(), Toast.LENGTH_LONG).show();isFirstLoc = false;}}else {//定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。Log.e("地图错误","定位失败, 错误码:" + aMapLocation.getErrorCode() + ", 错误信息:"+ aMapLocation.getErrorInfo());}}
}
想要什么定位信息随便取,我需要的只是经纬度,所以觉得官方的文档太详细了
android 高德地图定位获取经纬度相关推荐
- 高德地图定位传值经纬度坐标为null,null
高德地图定位传值经纬度坐标为null,null 因为传null导致切割字符串时崩溃,所以要加上非空判断 if (amapLocation.getLatitude() != 0 && a ...
- Android 高德地图key获取、坐标定位
前期准备 点击进入高德平台获取key **步骤一:**登录注册进入控制台 步骤二: **步骤三:**获取sha1值,以及其包名. **步骤四:**获取sha1值 步骤五:复制获取到key值 到这前期工 ...
- android 地图定位失败,Android 高德地图定位遇到的异常
最近项目中集成了高德地图定位功能,使用都是正常按照高德开发文档来的,目前出现的问题是退出整个应用程序时(应用的主界面显示地图同时开启了实时定位),报错误如下: 12-26 10:21:56.739 2 ...
- C# 调用高德地图API获取经纬度以及定位,JS获取定位【万字详解附完整代码】
最近有个需求,需要用到定位,本来打算用百度地图API定位,但是发现百度地图定位申请AppKey太麻烦了.因为是写的web端,百度地图定位API申请的Appkey需要网址过滤.索性就用高德定位了(有一说 ...
- Vue Cli4 使用高德地图定位 获取当前经纬度信息以及周边定位
以上是最终效果图 下面开始代码分享 第一步 在index,html引入高德地图模块 ` <!-- 高德地图 --><script type="text/javascript ...
- android高德地图定位集成
进入高德开发者平台 参考:http://lbs.amap.com/api/android-location-sdk/locationsummary/ 配置 下载 从网站下载并解压得到定位包" ...
- android高德地图定位是准确的吗,高德地图定位不准确?原因在这里!
高德地图的集成还是比较简单的,而且用法都有Demo,下面我就说一说定位不准确的原因吧 1.获取SHA1值出错,这个很重要,如果SHA1值不对的话,高德SDK是不会告诉你的,而且最可恶的是还能运行,位置 ...
- 高德地图定位获取当前地址城市街道等详细信息(全部代码)
自动定位后弹窗信息,包含省市县镇区路门牌号(效果图如下) 代码↓↓↓ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional ...
- Android 高德地图定位和导航
1. 在高德开放平台注册帐号 2.在高德地图开发平台中下载Android平台下载地图SDK和定位SDK和导航SDK文件 3. 添加jar包,将jar包放入工程的libs目录下. (下载的三合一的SDK ...
最新文章
- 美国国家科学院发布《材料研究前沿:十年调查》
- --------------springMVC的开篇,以及底层执行流程,配置视图解析器,静态资源的访问,流程图,工作原理...
- 用qss 来控制qlabel显示字体的位置_Word表格总填不好,这些技巧轻松来拯救
- 性能调优:理解Set Statistics IO输出
- HDU - 6153 A Secret(KMP的next数组性质/扩展KMP)
- 如何评估一个人解决问题的能力
- 毕业这几年的嵌入式开发之路
- pakeage php国内镜像,Packagist/Composer中国全量镜像 | 严佳冬
- odex vdex art区别
- 人性的弱点【了解鱼的需求】
- error: Microsoft Visual C++ 14.0 or greater is required. Get it with Microsoft C++ Build Tools终极方案
- 继“世界性别平等大会”圆满召开后,喀拉拉邦首席部长为“性别平等园区”揭幕
- html easyui怎么实现折叠面板,Easyui 创建折叠面板_EasyUI 教程
- python抢优惠券程序_python3 优惠券查询GUI程序
- matlab元胞数组cell添加元素
- autocad不能画图_说说基本的画图软件—AutoCAD(一)
- 信息学奥赛一本通——2068:【例2.6】鸡兔同笼
- 网络营销的特点和优势
- LNK2019 无法解析的外部符号“XXX”()中引用了该符号,原因之一
- 钱能解决的都是小事——北漂18年(78)