高德地图搜索区域

GeocodeQuery


implements

LocationSource, AMapLocationListener, GeocodeSearch.OnGeocodeSearchListener, PoiSearch.OnPoiSearchListener


private EditText searchEditText;

private GeocodeSearch geocoderSearch;

private PoiSearch poiSearch;

private PoiSearch.Query poiQuery;

searchEditText.setOnEditorActionListener(newTextView.OnEditorActionListener() {

@Override

public booleanonEditorAction(TextView v,intactionId, KeyEvent event) {

if(!TextUtils.isEmpty(searchEditText.getText().toString())) {

if(actionId == EditorInfo.IME_ACTION_SEARCH

|| (event !=null&& event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {

if((searchEditText.getText() +"").trim().length() ==0) {

return true;

}

inm.hideSoftInputFromWindow(searchEditText.getWindowToken(),0);//强制隐藏键盘

//请求位置数据

showProgress(getResources().getString(R.string.loading_text));

//第一个参数表示地址,第二个参数表示查询城市

GeocodeQuery geocodeQuery =newGeocodeQuery(searchEditText.getText().toString().trim(),"");

geocoderSearch.getFromLocationNameAsyn(geocodeQuery);

//                        poiSearch.searchPOIAsyn();

return true;

}

}

return false;

}

});


/**

* 获取地理编码 解析result获取坐标信息

*@paramgeocodeResult可以在回调中解析result,获取坐标信息。

*@paramrCode返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)

*/

@Override

public voidonGeocodeSearched(GeocodeResult geocodeResult,intrCode) {

hideProgress();

if(rCode !=1000){

showToast("获取地址失败");

return;

}

List list = geocodeResult.getGeocodeAddressList();

if(list!=null&& list.size()>0){

//            showBottomSheetDialog(list);

String str =newGson().toJson(list);

LogUtils.log(str);

for(GeocodeAddress geocodeAddress:list){

sAddressArea= geocodeAddress.getProvince()+" "+geocodeAddress.getCity()+" "+geocodeAddress.getDistrict();

sAddressDetail= geocodeAddress.getFormatAddress();//详细地址

sDistrict= geocodeAddress.getDistrict();//区县

LatLonPoint latLonPoint = geocodeAddress.getLatLonPoint();

if(latLonPoint!=null) {

sLongitude= latLonPoint.getLongitude() +"";

sLatitude= latLonPoint.getLatitude() +"";

aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(

newLatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()),16));

}

break;

}

}

}

你可能感兴趣的:(高德地图搜索区域)