百度地图 v3.5搜索功能,和地图缩放按钮更改样式

搜索应该是比较简单一块了。
先说一下缩放按钮
        //设置是否显示缩放控件
        mMapView.showZoomControls(false);
先将缩放控件隐藏,然后直接在地图页面自己定义两个按钮。
           case R.id.minus_sign:
                float zoomLevel = mBaiduMap.getMapStatus().zoom;
                if(zoomLevel>4){
                    mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomOut());
                    minus_sign.setEnabled(true);
                    plus_sign.setEnabled(true);
                }else{
                    minus_sign.setEnabled(false);
                    Toast.makeText(MainMap.this, "已经缩至最小!", Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.plus_sign:
                float zoomLeve2 = mBaiduMap.getMapStatus().zoom;
                if(zoomLeve2<=18){
                    mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomIn());
                    plus_sign.setEnabled(true);
                    minus_sign.setEnabled(true);
                }else{
                    Toast.makeText(MainMap.this, "已经放至最大!", Toast.LENGTH_SHORT).show();
                    plus_sign.setEnabled(false);
                }
                break;
监听者两个按钮就可以了。

下面来说一下搜索这块
需要实现这几个接口
public class PoiSearchActivity extends Activity implements
        OnGetPoiSearchResultListener, OnGetSuggestionResultListener {
    private PoiSearch mPoiSearch = null;
       //创建检索POI实例
        mPoiSearch = PoiSearch.newInstance();
        //设置POI检索监听者
        mPoiSearch.setOnGetPoiSearchResultListener(this);

在搜索按钮监听的地方调用
  //发起检索请求
                            mPoiSearch.searchInCity((new PoiCitySearchOption())
                                    .city(myCity)
                                    .keyword(editData)
                                    .pageNum(datai++));

传入城市,搜索名称,页数,    datai从0开始没每点击一次加一

   @Override
    protected void onDestroy() {
        mPoiSearch.destroy();
        super.onDestroy();
    }
    @Override
    public void onGetPoiResult(PoiResult poiResult) {
        if (poiResult == null
                || poiResult.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {
            Toast.makeText(PoiSearchActivity.this, "未找到结果", Toast.LENGTH_LONG)
                    .show();
            return;
        }
        if (poiResult.error == SearchResult.ERRORNO.NO_ERROR) {
            for (int i=0;i<poiResult.getAllPoi().size();i++) {
                pio=new Pioinfo();
                pio.setName(poiResult.getAllPoi().get(i).name);
                pio.setAddress(poiResult.getAllPoi().get(i).address);
                pio.setLocation(poiResult.getAllPoi().get(i).location);
                mList.add(pio);
            }
            stopProgressDialog();
            dataAdapter.notifyDataSetChanged();
            return;
        }
        if (poiResult.error == SearchResult.ERRORNO.AMBIGUOUS_KEYWORD) {

            // 当输入关键字在本市没有找到,但在其他城市找到时,返回包含该关键字信息的城市列表
            String strInfo = "在";
            for (CityInfo cityInfo : poiResult.getSuggestCityList()) {
                strInfo += cityInfo.city;
                strInfo += ",";
            }
            strInfo += "找到结果";
            Toast.makeText(PoiSearchActivity.this, strInfo, Toast.LENGTH_LONG)
                    .show();
        }
    }


这样搜索就完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值