/** 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");
     }
   }
 }
예제 #3
0
  @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);
    }
  }
예제 #4
0
 @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;
     }
   }
 }