搜索应该是比较简单一块了。
先说一下缩放按钮
//设置是否显示缩放控件 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(); } }
这样搜索就完成了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-09 13:00:01