Android 百度地图api地理编码与逆地理编码

本文介绍了地理编码和逆地理编码的基本概念,地理编码是指从详细的街道地址获取经纬度信息的过程,而逆地理编码则是从经纬度信息获取结构化地址信息的过程。文中还提供了两种实现方法:一种是通过百度地图API的Web接口,另一种是使用百度提供的Java库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    何为地理编码?何为逆地理编码?

地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息。

逆地理编码:即逆地址解析,由百度经纬度信息得到结构化地址信息。

然后鄙视一下百度地图api文档的作者,文档的功能介绍太少了吧,而且这个功能都没说,为什么web的api功能介绍那么多。。。

这个可以选择使用web的接口获取结果也可以使用百度jar里的方法获取。

web:这里可以点击 -->web的链接

jar:1.下载百度的jar包,需要包含搜索那块功能。

       2.搜索的类叫GeoCoder 路径是com.baidu.mapapi.search.geocode.GeoCoder;

       3.实现代码:

        GCSearch.geocode(new GeoCodeOption().city(
                tvCityAddress.getText().toString()).address(searchEntry.getAddress()));
  这个是地理解析,就是搜索地址得到经纬度。
 ReverseGeoCodeOption reverseGeoCodeOption = new ReverseGeoCodeOption();
                reverseGeoCodeOption.location(new LatLng(lat, lng));
                GCSearch.reverseGeoCode(reverseGeoCodeOption);
这个是逆地理解析,就是通过经纬度获取地址详情。

        GCSearch.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
            @Override
            public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {                 //通过文字地址获取到的坐标回调
                LatLng location = geoCodeResult.getLocation();
                if (location == null) return;
                setMap(location.latitude, location.longitude);

            }
            @Override
            public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {        //通过坐标获取到地址信息的回调
                tvAddressAddress.setText(reverseGeoCodeResult.getAddress());
            }
        });
搜索的结果。
一共就发现了两种实现方式,个人倾向于使用jar包的,反正jar包都导进来了,那么大不用白不用。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值