/** POI信息查询回调方法 */ @Override public void onPoiSearched(PoiResult result, int rCode) { dissmissProgressDialog(); // 隐藏对话框 if (rCode == 0) { if (result != null && result.getQuery() != null) { // 搜索poi的结果 if (result.getQuery().equals(query)) { // 是否是同一条 poiResult = result; // 取得搜索到的poiitems有多少页 List<PoiItem> poiItems = poiResult.getPois(); // 取得第一页的poiitem数据,页数从数字0开始 List<SuggestionCity> suggestionCities = poiResult.getSearchSuggestionCitys(); // 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息 if (poiItems != null && poiItems.size() > 0) { aMap.clear(); // 清理之前的图标 PoiOverlay poiOverlay = new PoiOverlay(aMap, poiItems); poiOverlay.removeFromMap(); poiOverlay.addToMap(); poiOverlay.zoomToSpan(); } else if (suggestionCities != null && suggestionCities.size() > 0) { showSuggestCity(suggestionCities); } else { ToastUtil.show(PoiKeywordSearchActivity.this, "no_result"); } } } else { ToastUtil.show(PoiKeywordSearchActivity.this, "no_result"); } } else if (rCode == 27) { ToastUtil.show(PoiKeywordSearchActivity.this, "error_network"); } else if (rCode == 32) { ToastUtil.show(PoiKeywordSearchActivity.this, "验证无效"); } else { ToastUtil.show(PoiKeywordSearchActivity.this, "未知错误" + rCode); } }
/** 点击下一页按钮 */ public void nextButton() { if (query != null && poiSearch != null && poiResult != null) { if (poiResult.getPageCount() - 1 > currentPage) { currentPage++; query.setPageNum(currentPage); // 设置查后一页 poiSearch.searchPOIAsyn(); } else { ToastUtil.show(PoiKeywordSearchActivity.this, "no result"); } } }
@Override public void onPoiSearched(PoiResult result, int rCode) { dismissDialog(); if (rCode == 0) { if (result != null && result.getQuery() != null) { // 搜索poi的结果 mSearchList.clear(); for (int i = 0; i < result.getPois().size(); i++) { mSearchList.add(result.getPois().get(i).getTitle()); } mSearchAdapter.notifyDataSetChanged(); } else { Utils.toast(GaodeMapActivity.this, "对不起,没有搜索到相关数据!"); } } else if (rCode == 27) { Utils.toast(GaodeMapActivity.this, "搜索失败,请检查网络连接!"); } else if (rCode == 32) { Utils.toast(GaodeMapActivity.this, "key验证无效!"); } else { Utils.toast(GaodeMapActivity.this, getString(R.string.error_other) + rCode); } }
@Override public void onPoiSearched(PoiResult poiResult, int errorCode) { if (mListener != null) { mListener.cbPoiSearch(poiResult, errorCode); } if (errorCode == 0 && poiResult != null && isShowOverlay && aMap != null) { ArrayList<PoiItem> poiItems = poiResult.getPois(); // 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息 if (poiItems != null && poiItems.size() > 0) { aMap.clear(); // 清理之前的图标 PoiOverlay poiOverlay = new PoiOverlay(aMap, poiItems); poiOverlay.removeFromMap(); poiOverlay.addToMap(); poiOverlay.zoomToSpan(); isShowOverlay = false; } } }