Android 高德地圖對於城市定位做地理編碼+逆地理編碼處理

之前有需求需要對城市定位做處理
在這裏插入圖片描述
這裏簡單的寫了一個方法,可以直觀的把地址轉換爲座標,並且實現城市的定位,方法裏面直接傳入城市名 --------- 直接上碼

    //切換城市
    private void getLatlon(String cityName) {
        //構造 GeocodeSearch 對象,並設置監聽。
        GeocodeSearch geocodeSearch = new GeocodeSearch(getActivity());
        geocodeSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {
             
             //------------------------座標轉地址/座標轉地址的監聽回調-----------------------
            @Override
            public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {

            }

            @Override
            public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {
                if (i == 1000) {
                    if (geocodeResult != null && geocodeResult.getGeocodeAddressList() != null &&
                            geocodeResult.getGeocodeAddressList().size() > 0) {
                        GeocodeAddress geocodeAddress = geocodeResult.getGeocodeAddressList().get(0);
                        double latitude = geocodeAddress.getLatLonPoint().getLatitude();//緯度
                        double longititude = geocodeAddress.getLatLonPoint().getLongitude();//經度
                        String adcode = geocodeAddress.getAdcode();//區域編碼

                        LogUtils.e("地理編碼", geocodeAddress.getAdcode() + "");
                        LogUtils.e("緯度latitude", latitude + "");
                        LogUtils.e("經度longititude", longititude + "");

                        LatLng lng = new LatLng(latitude, longititude);
                        aMap.moveCamera(CameraUpdateFactory.changeLatLng(lng));
                    } else {
                        ToastUtil.showToast(getActivity(),
                                "地址名出錯");
                    }
                }
            }
        });

        GeocodeQuery geocodeQuery = new GeocodeQuery(cityName.trim(), "30000");
        geocodeSearch.getFromLocationNameAsyn(geocodeQuery);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章