Android 百度地圖api地理編碼與逆地理編碼

    何爲地理編碼?何爲逆地理編碼?

地理編碼:即地址解析,由詳細到街道的結構化地址得到百度經緯度信息。

逆地理編碼:即逆地址解析,由百度經緯度信息得到結構化地址信息。

然後鄙視一下百度地圖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包都導進來了,那麼大不用白不用。

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章