安卓高德地图API根据城市名获取对应的经纬度和地理编码

 项目里遇到了这样的需求,话不多说,直接上代码。

private void getLatlon(String cityName){


        GeocodeSearch geocodeSearch=new GeocodeSearch(context);
        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();//区域编码


                        Log.e("地理编码", geocodeAddress.getAdcode()+"");
                        Log.e("纬度latitude",latitude+"");
                        Log.e("经度longititude",longititude+"");

                    }else {
                        ToastUtils.show(context,"地址名出错");
                    }
                }
            }
        });

        GeocodeQuery geocodeQuery=new GeocodeQuery(cityName.trim(),"29");
        geocodeSearch.getFromLocationNameAsyn(geocodeQuery);


    }

猜你喜欢

转载自blog.csdn.net/qq_25749749/article/details/79790730
今日推荐