/** 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);
    }
  }
Пример #2
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);
    }
  }