百度安卓地图学习(二)
来源:互联网 发布:营销软件网站源码 编辑:程序博客网 时间:2024/05/16 06:37
看完了http://blog.csdn.net/woshishuoshuoa/article/details/9853985后便学会了简单定位,那么如何进行搜索呢,在之前的项目上新建一个activity,代码如下:
package com.diecolor;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.map.MKEvent;import com.baidu.mapapi.map.MapController;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.PoiOverlay;import com.baidu.mapapi.search.MKAddrInfo;import com.baidu.mapapi.search.MKBusLineResult;import com.baidu.mapapi.search.MKDrivingRouteResult;import com.baidu.mapapi.search.MKPoiInfo;import com.baidu.mapapi.search.MKPoiResult;import com.baidu.mapapi.search.MKSearch;import com.baidu.mapapi.search.MKSearchListener;import com.baidu.mapapi.search.MKShareUrlResult;import com.baidu.mapapi.search.MKSuggestionResult;import com.baidu.mapapi.search.MKTransitRouteResult;import com.baidu.mapapi.search.MKWalkingRouteResult;import com.baidu.platform.comapi.basestruct.GeoPoint;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class LocationActivity extends Activity{BMapManager mBMapMan = null; MapView mMapView = null;Button button;EditText editText;MKSearch mkSearch=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stub//======================================================初始化地图Activity、使用Key========================================super.onCreate(savedInstanceState);mBMapMan=new BMapManager(getApplication()); mBMapMan.init("4b605b48b3062e4687d0ada2ecd65a8e", null); //注意:请在试用setContentView前初始化BMapManager对象,否则会报错 setContentView(R.layout.location_main);mMapView=(MapView)findViewById(R.id.locationmap_bmapsView); mMapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件MapController mapController=mMapView.getController();//得到mMapView控制权,可以用它控制盒驱动平移和缩放GeoPoint point=new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));//用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)mapController.setCenter(point);//设置地图中心点mapController.setZoom(12);//设置地图zoom级别 //===========================================================初始化地图完成================================================//初始化 查询mkSearch=new MKSearch();mkSearch.init(mBMapMan, new MySearchListener());//注意,MKSearchListener只支持一个,以最后一次设置为准 editText=(EditText) findViewById(R.id.edit_locationmap);button=(Button) findViewById(R.id.btn1_locationmap);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmkSearch.poiSearchInCity("南京", editText.getText().toString());}});}/* * 通过初始化MKSearch类,注册搜索结果的监听对象MKSearchListener, * 实现异步搜索服务。首先自定义MySearchListener实现MKSearchListener接口, * 通过不同的回调方法,获得搜索结果 */public class MySearchListener implements MKSearchListener{@Overridepublic void onGetAddrResult(MKAddrInfo arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void onGetPoiDetailSearchResult(int arg0, int arg1) {// TODO Auto-generated method stub}//实现MySearchListener的onGetPoiResult,并展示检索结果:@Overridepublic void onGetPoiResult(MKPoiResult res, int type, int error) {// TODO Auto-generated method stub// 错误号可参考MKEvent中的定义 if ( error == MKEvent.ERROR_RESULT_NOT_FOUND){ Toast.makeText(LocationActivity.this, "抱歉,未找到结果",Toast.LENGTH_LONG).show(); return ; } else if (error != 0 || res == null) { Toast.makeText(LocationActivity.this, "搜索出错啦..", Toast.LENGTH_LONG).show(); return; }// 将poi结果显示到地图上 PoiOverlay poiOverlay = new PoiOverlay(LocationActivity.this, mMapView); poiOverlay.setData(res.getAllPoi()); //把查询结果 放置到层中mMapView.getOverlays().clear(); //清空以前查询的结果mMapView.getOverlays().add(poiOverlay); //添加搜索结果的层 mMapView.refresh(); //刷新//当ePoiType为2(公交线路)或4(地铁线路)时, poi坐标为空 for (MKPoiInfo mk : res.getAllPoi()) {if (mk.pt!=null) {mMapView.getController().animateTo(mk.pt);break;}}}@Overridepublic void onGetShareUrlResult(MKShareUrlResult arg0, int arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {// TODO Auto-generated method stub}}//===================================================重写以下方法,管理API============================================@Override protected void onDestroy(){ mMapView.destroy(); if(mBMapMan!=null){ mBMapMan.destroy(); mBMapMan=null; } super.onDestroy(); } @Override protected void onPause(){ mMapView.onPause(); if(mBMapMan!=null){ mBMapMan.stop(); } super.onPause(); } @Override protected void onResume(){ mMapView.onResume(); if(mBMapMan!=null){ mBMapMan.start(); } super.onResume(); } }
效果图:
喜欢安卓的亲们可以接着看看http://blog.csdn.net/woshishuoshuoa/article/details/9866327哦~~~
- 百度安卓地图学习(二)
- 百度安卓地图学习(一)
- 百度安卓地图学习(三)
- 百度地图学习(二)
- 安卓特色服务之定位服务(百度地图二)
- 安卓Andriod使用入门(二十三)【百度地图API】
- 百度地图API学习笔记(二)
- 安卓百度地图开发
- 百度地图+安卓SDK开发学习之百度地图初始化
- 百度地图api学习二
- 安卓学习笔记:让自己显示在地图上(使用百度地图API)
- 安卓开发——Intent跳转地图应用(百度地图、高德地图)
- 安卓应用百度地图API(1)-keytool
- android安卓根据地名查找经纬度(百度地图)
- Android百度地图API学习(二) 开发基本流程
- 从零学习Android 百度地图V3.0(二)
- Android百度地图学习笔记(二)----路径规划
- Android百度地图开发——学习历程(二)
- Ubuntu vim 中文乱码解决方法
- 当今的Groupon在缩减规模的同时,紧要加倍存眷资本
- Java多线程--让主线程等待所有子线程执行完毕
- Android NDK调试C++源码
- sql日志文件查看工具
- 百度安卓地图学习(二)
- 广义表
- gcc中-pthread和-lpthread的区别
- hdu 1827 Summer Holiday(传递的最小费用)
- 什么是NHibernate?
- android之startActivityForResult的使用
- UITextField 用法
- myeclipse如何实现接口中的方法
- SQL_学生信息管理系统(图文详解)