输入提示与poi关键字搜索示例
###1:配置搭建AndroidSDK工程###
- 输入提示展示
- POI搜索结果展示
类 | 接口 | 说明 | 版本 |
---|---|---|---|
PoiSearch | searchPOIAsyn() | 查询POI异步接口 | V2.1.0 |
Inputtips | requestInputtipsAsyn() | 查询输入提示的异步接口 | V2.0.2 |
- 输入字符变化时开启输入提示
/**
* 输入字符变化时触发
*
* @param newText
* @return
*/
@Override
public boolean onQueryTextChange(String newText) {
if (!AMapUtil.IsEmptyOrNullString(newText)) {
InputtipsQuery inputquery = new InputtipsQuery(newText, Constants.DEFAULT_CITY);
Inputtips inputTips = new Inputtips(InputTipsActivity.this.getApplicationContext(), inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
} else {
if (mIntipAdapter != null && mCurrentTipList != null) {
mCurrentTipList.clear();
mIntipAdapter.notifyDataSetChanged();
}
}
return false;
}
- 输入提示获取tips或者搜索关键词处理逻辑
/**
* 输入提示activity选择结果后的处理逻辑
*
* @param requestCode
* @param resultCode
* @param data
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_CODE_INPUTTIPS && data
!= null) {
mAMap.clear();
Tip tip = data.getParcelableExtra(Constants.EXTRA_TIP);
if (tip.getPoiID() == null || tip.getPoiID().equals("")) {
doSearchQuery(tip.getName());
} else {
addTipMarker(tip);
}
mKeywordsTextView.setText(tip.getName());
if(!tip.getName().equals("")){
mCleanKeyWords.setVisibility(View.VISIBLE);
}
} else if (resultCode == RESULT_CODE_KEYWORDS && data != null) {
mAMap.clear();
String keywords = data.getStringExtra(Constants.KEY_WORDS_NAME);
if(keywords != null && !keywords.equals("")){
doSearchQuery(keywords);
}
mKeywordsTextView.setText(keywords);
if(!keywords.equals("")){
mCleanKeyWords.setVisibility(View.VISIBLE);
}
}
}