百度地图_正向地理编码

定义

地理编码指的是将地理信息转化成坐标关系的过程。分为正向的和反向的编码。正向的就是指将地址信息转成坐标点的过程。反地理编码就是将地理坐标转换成具体的地址信息,通过百度地图SDK,查询出坐标对应的物体所在的行政区划、街道等信息。

正向地理编码

创建地理编码检索实例

GeoCoder mSearch = null;
mSearch = GeoCoder.newInstance();

创建地理编码检索监听者

mSearch.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
        @Override
        public void onGetGeoCodeResult(GeoCodeResult result) {
            if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
                Toast.makeText(SearchStartActivity.this, "抱歉,未能找到结果", Toast.LENGTH_LONG)
                        .show();
                return;
            }
            String strInfo = String.format("纬度:%f 经度:%f",
                    result.getLocation().latitude, result.getLocation().longitude);
            Toast.makeText(SearchStartActivity.this, strInfo, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {

        }
    });

这里mSearch直接设置了setOnGetGeoCodeResultListener(),即地理编码检索监听者,用到的方法为onGetGeoCodeResult()即得到正向地理编码结果。对获取的结果result进行判断,若为null,则返回提示,若不为null,将经纬度信息展示出来。

发起地理编码检索

GeoCodeOption GeoOption =new GeoCodeOption().city("北京").address(place_start);
mSearch.geocode(GeoOption);

配置GeoCodeOption对象,即对查询条件进行限定,在北京查找place_start(即关键词),之后对地理编码检索实例mSearch设置GeoCodeOption

释放地理编码检索实例

mSearch.destroy();

猜你喜欢

转载自blog.csdn.net/zhangmin3303/article/details/88531394