不废话,需求:输入一个地址,获取到它的经纬度,怎么办?

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

//实现方法


@Overridepublic 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

如果没有出现数据,看看            public void onGeocodeSearched(GeocodeResult geocodeResult, int i) 返回的i值是不是1008,如果是,说明你的appkey和你在高德地图申请的appkey不一样,注意编译的keyStore要和高德地图的一样。如果用Android studio 直接运行是用的Android studio自带的debug.keystore,它的默认位置在 $HOME/.android/debug.keystore,例如我的debug.keystore就在   C:\Users\devil\.android\debug.keystore  。再我们正式发布项目的时候是不能使用debug.keystore的。

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 控件,系统api的使用这些简单的内容。因为写了很多,不仅没有对技术提升有帮助,还浪费了很多时间。

Android 通过高德地图获取地址的经纬度相关推荐

  1. php地址转换成经纬度,百度地图 获取地址转换为经纬度

    html> 根据地址查询经纬度 a.{ margin-right:100px; } style="position: absolute; margin-top:30px; width: ...

  2. 高德地图获取坐标距离_高德地图获取两个经纬度点间直线距离JS/PHP/SQL代码

    最近做了几个小站,要求要定位到当前地址并且显示附近多少公里内的商家和产品. 定位好办,直接用高德地图搞定.有不需要显示地图又需要定位的页面把地图直接隐藏掉都可以.或者可以直接调用高德的定位组件. 但是 ...

  3. 百度地图 获取地址转换为经纬度

    最近在项目中用到百度地图,由于以前没有接触过,所以刚开始感觉无从下手;百度地图JavaScript API是用JavaScript编写的程序接口,废话不多说了看例子.(这是我第一次写博客,欢迎大家指教 ...

  4. Android利用谷歌地图获取并解析经纬度对应的地理位置

    最近需要对GPS定位信息进行地理位置解析,看到一些文章里面建议使用百度地图API来做,不过考虑到百度地图在国外的使用体验,还是想试试通过Google地图来进行地理位置获取,闲话不多说,上代码. 首先当 ...

  5. 高德地图获取地址坐标

    http://api.amap.com/Javascript/example# 有一个地图工具--->

  6. 高德地图根据地址获取经纬度(JS)

    高德地图根据地址获取经纬度(JS) <script type="text/javascript" src="https://webapi.amap.com/maps ...

  7. Java 根据高德地图获取经纬度坐标

    1: 申请高德服务key /*** @param addressName* @param cityName* @Description 根据高德地图, 通过地址获取经纬度坐标* @Throws* @R ...

  8. 高德地图获取当前屏幕中心点的经纬度

    公司有个需求就是要随着屏幕的改变而加载附近的商户信息. 那么高德地图获取当前屏幕中心点的经纬度呢? 核心方法:aMap.setOnCameraChangeListener(this); 实现接口: @ ...

  9. 基于高德sdk实现摩拜单车主界面,滑动地图获取地址信息

    共享单车可以说是2016年至今,一个火的不要不要的项目,简单的界面,实用的功能.观察摩拜单车,ofo单车等几个项目会发现,基本上大同小异,项目的思路跟滴滴打车项目大同小异,都是基于Gps定位,实现查找 ...

最新文章

  1. J0ker的CISSP之路:How CISSP(3)
  2. 关于一些朋友想做在线教育的回复和分享
  3. vim java 注释_centOS7 下的vim java补全
  4. 【Python进阶】实战Python面向对象基本编程
  5. re搜索字符串与find字符串不一样的结果
  6. 数据结构(复习)--------关于平衡二叉树(转载)
  7. vscode还用装git_在windows下搭建编程环境git+vscode安装配置教程
  8. SANGFOR SCSA——网络基础
  9. java课程设计学生信息管理系统。
  10. 同花顺股票交易接口怎样执行量化挂单策略?
  11. android 垂直方向布局,Android详解4种基本布局
  12. 蚂蚁金服技术90后:从艺术转投数学,还出版首本TensorFlow中文教材
  13. 跟踪fork: Resource temporarily unavailable的原因
  14. gitlab安装后出现的web IDE显示报错问题
  15. 试画出下面系统的乃式图(nyquist图)【Matlab】
  16. 计算机采用的编码机制是什么,编码机制
  17. 京东抢购工具 监控工具 秒杀工具
  18. win10 升级到21H1 后Thinkpad X系列本本 音频驱动 没有声音
  19. ecg 幅度_ECG信号
  20. ssm+JSP计算机毕业设计果园管理系统2wbg5【源码、程序、数据库、部署】

热门文章

  1. 初学java---第二课《接收控制台(console)输入的方法》
  2. 抛弃鼠标的神器——Vimium
  3. ubuntu下部署mongodb以及设置允许远程连接
  4. Annihilate(SA)
  5. 营销 | 10个助燃商业增长的市场营销战略!
  6. [归并][随机算法] JZOJ P3765 想法
  7. SparkSQL程序设计
  8. 手势模型和Angular Material的实现
  9. 【jQuery小实例】---2自定义动画
  10. mysql-修改root密码的方法