Android 高德地图根据地址获取经纬度,计算两个坐标的距离
1、到高德开放平台申请,获取key
高德开放平台:https://lbs.amap.com/
2、下载高德定位及地址搜索SDK:https://download.csdn.net/download/meixi_android/10845407
3、项目绑定高德SDK
(1)配置key
<meta-data android:name="com.amap.api.v2.apikey"android:value="c8f6c5070cd7fd3ece3b50b342218487" /><service android:name="com.amap.api.location.APSService"></service>
</application>
(2)activity实现定位接口
implements AMapLocationListener
//实现方法
@Override
public void onLocationChanged(AMapLocation aMapLocation) {}
(3)已知地址获取经纬度方法:
private void getLatlon(String cityName){GeocodeSearch geocodeSearch=new GeocodeSearch(this);geocodeSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {@Overridepublic void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {}@Overridepublic void onGeocodeSearched(GeocodeResult geocodeResult, int i) {if (i==1000){if (geocodeResult!=null && geocodeResult.getGeocodeAddressList()!=null &&geocodeResult.getGeocodeAddressList().size()>0){GeocodeAddress geocodeAddress = geocodeResult.getGeocodeAddressList().get(0);double latitude = geocodeAddress.getLatLonPoint().getLatitude();//纬度double longititude = geocodeAddress.getLatLonPoint().getLongitude();//经度String adcode= geocodeAddress.getAdcode();//区域编码Log.e("lgq地理编码", geocodeAddress.getAdcode()+"");Log.e("lgq纬度latitude",latitude+"");Log.e("lgq经度longititude",longititude+"");Log.i("lgq","dddwww===="+longititude);}else {Toast.makeText(MainActivity.this,"地名出错",Toast.LENGTH_SHORT).show();
// ToastUtils.show(context,"地址名出错");}}}});GeocodeQuery geocodeQuery=new GeocodeQuery(cityName.trim(),"29");geocodeSearch.getFromLocationNameAsyn(geocodeQuery);}
测试数据:
getLatlon("东莞市东城街道温塘横岭工业区二街38号");
结果:
12-12 13:51:52.555 21394-21394/com.tianxin.mapclient.liteapp E/lgq地理编码: 441900
12-12 13:51:52.555 21394-21394/com.tianxin.mapclient.liteapp E/lgq纬度latitude: 23.036034
12-12 13:51:52.556 21394-21394/com.tianxin.mapclient.liteapp E/lgq经度longititude: 113.816161
4、计算两个坐标的距离
LatLng latLng2=new LatLng(23.025845,113.752532);
LatLng latLng=new LatLng(23.025845,113.772532);
float distance = AMapUtils.calculateLineDistance(latLng,latLng2);
float qianmifload =(float) distance/1000;
Log.i("lgq","sss===="+round(qianmifload,2)+" 千米");
四舍五入到两位小数
public static float round(float v, int scale) {if (scale < 0)throw new IllegalArgumentException("The scale must be a positive integer or zero");BigDecimal bgNum1 = new BigDecimal(Float.toString(v));BigDecimal bgNum2 = new BigDecimal("1");return bgNum1.divide(bgNum2, scale, BigDecimal.ROUND_HALF_UP).floatValue();// return b.setScale(scale, BigDecimal.ROUND_HALF_UP).floatValue(); }
Android 高德地图根据地址获取经纬度,计算两个坐标的距离相关推荐
- android高德地图用地址获取经纬度,高德地图API-获取位置信息的经纬度
一.首先需要注册成为开发者,注册成功后就可以使用此开放平台. 步骤如下: 1.百度搜索 高德开放平台,进入网站.或者 输入网址:https://lbs.amap.com/ 搜索高德开放平台 高德开发平 ...
- 高德地图根据地址获取经纬度(JS)
高德地图根据地址获取经纬度(JS) <script type="text/javascript" src="https://webapi.amap.com/maps ...
- Java 通过两个经纬度, 计算两个地方的距离 单位:km
public class AMapUtils {// 地球半径 单位kmprivate static double EARTH_RADIUS = 6371.393;private static dou ...
- mysql gps数据查询_Mysql数据库中计算两GPS坐标的距离
Mysql数据库中计算两GPS坐标的距离有两种方式: 1.直接使用SQL语句:#lat为纬度, lng为经度, 一定不要弄错 declare @lng1 float; declare @lat1 fl ...
- 高德地图 搜索店名获取经纬度
有啥问题加QQ:3053916151 <!doctype html> <html lang="zh-CN"><head><meta cha ...
- 高德地图点击获取经纬度并标记
官网api: https://lbs.amap.com/api/javascript-api/summary 引入js: <script type="text/javascript&q ...
- html百度地图获取城镇街道,集成百度地图根据地址获取经纬度,定位地址到街道...
根据地址查询经纬度 $(function(){ var map = new BMap.Map("container"); map.centerAndZoom("北京&qu ...
- mysql计算两gps坐标的距离_mysql 计算两坐标间的距离
mysql 5.6.1 加入了空间数据支持功能,新增了st_*相关函数,可以非常方便的计算两个地理坐标点的距离了. 如下例子:按我的坐标计算周边坐标的距离并由近到远排序 select name,st_ ...
- javascript 计算两个坐标的距离 米_土方全面应用计算
各种土方量的计算方法汇总 8.2.1 DTM法土方计算 由DTM模型来计算土方量是根据实地测定的地面点坐标(X,Y,Z)和设计高程,通过生成三角网来计算每一个三棱锥的填挖方量,最后累计得到指定范围内 ...
最新文章
- LeetCode-17-Letter Combinations of a Phone Number
- VTK:相互作用之ClientData
- HDU 1520Anniversary party(树型DP)
- 用这开源小书学 Docker,香!
- Codeforces 510 E. Fox And Dinner
- 阿里腾讯都在做的可视化大屏,我用这工具里的100个模板实现了
- galaxy+note8+android+8.0,三星已经开始了S8/S8+以及Note8的Android9.0更新的开发工作!
- Scala基础 - 函数和方法的区别
- python输入一个三位数输出百位十位个位_编程实现:输入一个三位数,输出其百位、十位、个位上的数字。_学小易找答案...
- 英特尔第十代处理器为什么不支持win7_Intel最新CPU和主板不能装Win7怎么办
- Git commit --amend 修改提交信息
- python语音合成并播放_用Python写一个语音播放软件
- Xcode真机测试(无需开发者账号)
- 【渝粤教育】国家开放大学2019年春季 0553-22T色彩 参考试题
- iPad 必备软件 | 帮你实现百度云倍速
- ContexIoT: Towards Providing Contextual Integrity to Appified IoT Platforms
- 一篇文章让你全面了解TDengine
- cocos2dx 3.1.1中EaseRateAction动作类的变化
- 功率二极管的损耗分析和选型原则
- Linux 安装 MySQL 8.0.26 超详细图文步骤
热门文章
- spring boot 503_英语原版阅读:Spring
- 发光字导向标识的发展
- 全球及中国稀土磁性材料行业运行格局及未来前景趋势预测报告2021-2027年版
- 移动平台WorkPlus集成化办公,打造企业全场景业务生态
- 2005-2019年全国硕士研究生入学统一考试英语(二)真题 试卷 词频
- Opencv—— 拟合直线
- [Mini Research]关于参与优先股和非参与优先股
- 【VMware vSAN 7.0】6.13 将双节点集群分配给共享见证主机—我们有软硬件解决方案
- 《好学的C++ 第2版》 第3章 一专多能的for语句
- MySQL中,关联查询的3种写法…