经纬度转换地址

2021-06-03 15:16:38

1.地理编码查询接口是单列模式的,我们需要调用让它自己实例化

// 在OnCreate方法里创建地理编码检索实例

GeoCoder geoCoder = GeoCoder.newInstance();

2.调用这个方法把你想要的经纬度传入

/** * 经纬度或地址相互转换

*

* @param latlng

*/

private void latlngToAddress(LatLng latlng) {

// 设置反地理经纬度坐标,请求位置时,需要一个经纬度

geoCoder.reverseGeoCode(new ReverseGeoCodeOption().location(latlng));

//设置地址或经纬度反编译后的监听,这里有两个回调方法,

geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {

//经纬度转换成地址

@Override

public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {

if (result == null ||  result.error != SearchResult.ERRORNO.NO_ERROR) {

Toast.makeText(getActivity(), "找不到该地址!",Toast.LENGTH_SHORT).show();

}

tv_address.setText("地址:" + result.getAddress());

}

/ /把地址转换成经纬度

@Override

public void onGetGeoCodeResult(GeoCodeResult result) {

// 详细地址转换在经纬度

String address=result.getAddress();

}

});

}

地理编码指的是将地址信息建立空间坐标关系的过程。有可分为正向地图编码和反向地图编码。 正向地理编码指的是由地址信息转换为坐标点的过程,核心代码如下: 第一步,创建地理编码检索实例; mSearch = GeoCoder.newInstance(); 第二步,创建地理编码检索监听者; OnGetGeoCoderResultListener listener = new OnGetGeoCoderResultListener() { public void onGetGeoCodeResult(GeoCodeResult result) { if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) { //没有检索到结果 } //获取地理编码结果 } @Override public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) { if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) { //没有找到检索结果 } //获取反向地理编码结果 } }; 第三步,设置地理编码检索监听者; mSearch.setOnGetGeoCodeResultListener(listener); 第四步,发起地理编码检索; mSearch.geocode(new GeoCodeOption() .city(“北京”) .address(“海淀区上地十街10号”); 第五步,释放地理编码检索实例; mSearch.destroy(); 反向地理编码服务实现了将地球表面的地址坐标转换为标准地址的过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值