Android 百度地圖api地理編碼與逆地理編碼
阿新 • • 發佈:2019-02-04
何為地理編碼?何為逆地理編碼?
一共就發現了兩種實現方式,個人傾向於使用jar包的,反正jar包都導進來了,那麼大不用白不用。
地理編碼:即地址解析,由詳細到街道的結構化地址得到百度經緯度資訊。
逆地理編碼:即逆地址解析,由百度經緯度資訊得到結構化地址資訊。
然後鄙視一下百度地圖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包都導進來了,那麼大不用白不用。