Android学习笔记之百度地图(分条目覆盖物:ItemizedOverlay)

来源:互联网 发布:卸载linux自带jdk 编辑:程序博客网 时间:2024/05/16 03:29



看看多了那三个小图片就是我们的效果结果。点击一下也会有相应的。试一下吧!

某个类型的覆盖物,包含多个类型相同、显示方式相同、处理方式相同的项时,使用此类:

  • 自定义类继承ItemizedOverlay<OverlayItem>,并Override其draw()方法,如果需要点击、按键、触摸等交互操作,还需Override onTap()等方法。

主要用到类 OverlayItem,百度地图上的API

ItemizedOverlay是Overlay的一个基类,包含了一个OverlayItem列表。 从南到北的处理item,用于绘制、创建平移边界、为每个点绘制标记点,和维护一个焦点选中的item,同时也负责把一个屏幕点击匹配到item上去,分发焦点改变事件给备选的监听器。

类型名称static intITEM_STATE_FOCUSED_MASK

bitset位: 标识该overlay item处于焦点选中状态
static intITEM_STATE_NORMAL_MASK
bitset位:表明该overlay item处于正常状态
static intITEM_STATE_PRESSED_MASK
bitset位:表明该overlay item正处于被按下状态
static intITEM_STATE_SELECTED_MASK
bitset位:表明该overlay item正处于被选中状态
protected DrawablemMarker
用于表示该item的overlay标记点
protected GeoPointmPoint
该item的位置
protected java.lang.StringmSnippet
该item的文字片段
protected java.lang.StringmTitle
该item的标题文本


返回类型方法DrawablegetMarker(int stateBitset)

返回标记点,该标记点在地图上绘制该item时使用。
GeoPointgetPoint()
返回该overlay的经纬度,以GeoPoint形式
java.lang.StringgetSnippet()
返回该overlay的文本片段
java.lang.StringgetTitle()
返回该overlay的标题文本
java.lang.StringroutableAddress()
暂未实现
voidsetMarker(Drawable marker)
设置标记点,该标记点在地图上绘制该item时使用。
static voidsetState(Drawable drawable, int stateBitset)
设置一个drawable的状态以匹配给定的静态betset位。



具体实现:

[java] view plaincopyprint?
  1. package xiaosi.baiduMap;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import android.content.Context;  
  7. import android.graphics.drawable.Drawable;  
  8. import android.os.Bundle;  
  9. import android.widget.Toast;  
  10.   
  11. import com.baidu.mapapi.BMapManager;  
  12. import com.baidu.mapapi.GeoPoint;  
  13. import com.baidu.mapapi.ItemizedOverlay;  
  14. import com.baidu.mapapi.MapActivity;  
  15. import com.baidu.mapapi.MapController;  
  16. import com.baidu.mapapi.MapView;  
  17. import com.baidu.mapapi.OverlayItem;  
  18.   
  19. public class BaiduMapActivity extends MapActivity  
  20. {  
  21.     /** Called when the activity is first created. */  
  22.     private BMapManager mapManager = null;  
  23.     private String key = "1B79478DA01F7800AEA8602517A6D89B38151105";  
  24.     private MapView mapView = null;  
  25.   
  26.     @Override  
  27.     public void onCreate(Bundle savedInstanceState)  
  28.     {  
  29.         super.onCreate(savedInstanceState);  
  30.         setContentView(R.layout.main);  
  31.         mapManager = new BMapManager(getApplication());  
  32.         mapManager.init(key, null);  
  33.         super.initMapActivity(mapManager);  
  34.         mapView = (MapView) findViewById(R.id.mapsView);  
  35.         mapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件  
  36.         MapController mapController = mapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放  
  37.         mapController.setZoom(12); // 设置地图zoom级别  
  38.           
  39.           
  40.           
  41.         Drawable marker = getResources().getDrawable(R.drawable.d);  //得到需要标在地图上的资源  
  42.         mapView.getOverlays().add(new OverItemT(marker, this)); //添加ItemizedOverlay实例到mMapView  
  43.     }  
  44.   
  45.     class OverItemT extends ItemizedOverlay<OverlayItem>  
  46.     {  
  47.         private List<OverlayItem> GeoPointList = new ArrayList<OverlayItem>();  
  48.         private Context mContext;  
  49.         //三个坐标  
  50.         private double coordinateX1=  39.90923;  
  51.         private double coordinateY1 = 116.397428;  
  52.         private double coordinateX2 = 39.9022;  
  53.         private double coordinateY2 = 116.3922;  
  54.         private double coordinateX3 = 39.917723;  
  55.         private double coordinateY3 = 116.3722;  
  56.         private double coordinateX4 = 39.90923;  
  57.         private double coordinateY4 = 116.3922;  
  58.   
  59.         public OverItemT(Drawable marker, Context context)  
  60.         {  
  61.             //调整一个drawable边界,使得(0,0)是这个drawable底部最后一行中心的一个像素。  
  62.             super(boundCenterBottom(marker));  
  63.             this.mContext = context;  
  64.             // 用给定的经纬度构造GeoPoint,单位是微度 (度 * 1E6)  
  65.             GeoPoint point1 = new GeoPoint((int) (coordinateX1 * 1E6), (int) (coordinateY1 * 1E6));  
  66.             GeoPoint point2 = new GeoPoint((int) (coordinateX2 * 1E6), (int) (coordinateY2 * 1E6));  
  67.             GeoPoint point3 = new GeoPoint((int) (coordinateX3 * 1E6), (int) (coordinateY3 * 1E6));  
  68.             GeoPoint point4 = new GeoPoint((int) (coordinateX4 * 1E6), (int) (coordinateY4 * 1E6));  
  69.             /*OverlayItem(GeoPoint point, String title, String snippet) 
  70.              * point     该item的位置 
  71.              * title     该item的标题文本 
  72.              * snippet   该item的文字片段 
  73.             */  
  74.             GeoPointList.add(new OverlayItem(point1, "P1""写字楼"));  
  75.             GeoPointList.add(new OverlayItem(point2, "P2""西城区政府"));  
  76.             GeoPointList.add(new OverlayItem(point3, "P3""招待所"));  
  77.             GeoPointList.add(new OverlayItem(point4, "P4""小学"));  
  78.             // createItem(int)方法构造item。一旦有了数据,在调用其它方法前,首先调用这个方法  
  79.             populate();   
  80.         }  
  81.   
  82.         @Override  
  83.         protected OverlayItem createItem(int i)  
  84.         {  
  85.             return GeoPointList.get(i);  
  86.         }  
  87.   
  88.         @Override  
  89.         public int size()  
  90.         {System.out.println("Size;" + GeoPointList.size());  
  91.             return GeoPointList.size();  
  92.         }  
  93.   
  94.         @Override  
  95.         // 处理当点击事件  
  96.         protected boolean onTap(int i)  
  97.         {  
  98.             //getSnippet() 该item的文字片段  
  99.             Toast.makeText(this.mContext, GeoPointList.get(i).getSnippet(),  
  100.                     Toast.LENGTH_SHORT).show();  
  101.             return true;  
  102.         }  
  103.           
  104.     }  
  105.   
  106.     @Override  
  107.     protected boolean isRouteDisplayed()  
  108.     {  
  109.         return false;  
  110.     }  
  111.   
  112.     @Override  
  113.     protected void onDestroy()  
  114.     {  
  115.         if (mapManager != null)  
  116.         {  
  117.             mapManager.destroy();  
  118.             mapManager = null;  
  119.         }  
  120.         super.onDestroy();  
  121.     }  
  122.   
  123.     @Override  
  124.     protected void onPause()  
  125.     {  
  126.         if (mapManager != null)  
  127.         {  
  128.             mapManager.stop();  
  129.         }  
  130.         super.onPause();  
  131.     }  
  132.   
  133.     @Override  
  134.     protected void onResume()  
  135.     {  
  136.         if (mapManager != null)  
  137.         {  
  138.             mapManager.start();  
  139.         }  
  140.         super.onResume();  
  141.     }  
  142. }  

百度地图移动版API集成搜索服务包括:位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索,通过初始化MKSearch类,注册搜索结果的监听对象MKSearchListener,实现异步搜索服务。首先自定义MySearchListener实现MKSearchListener接口,通过不同的回调方法,获得搜索结果:

[java] view plaincopyprint?
  1. public class MySearchListener implements MKSearchListener {  
  2.     @Override  
  3.     public void onGetAddrResult(MKAddrInfo result, int iError) {  
  4.     }  
  5.    
  6.     @Override  
  7.     public void onGetDrivingRouteResult(MKDrivingRouteResult result, int iError) {  
  8.     }  
  9.    
  10.     @Override  
  11.     public void onGetPoiResult(MKPoiResult result, int type, int iError) {  
  12.     }  
  13.    
  14.     @Override  
  15.     public void onGetTransitRouteResult(MKTransitRouteResult result, int iError) {  
  16.     }  
  17.    
  18.     @Override  
  19.     public void onGetWalkingRouteResult(MKWalkingRouteResult result, int iError) {  
  20.     }  
  21. }  



 


然后初始化MKSearch类:

[java] view plaincopyprint?
  1. MKSearch mKSearch = new MKSearch();  
  2.         mKSearch.init(mapManager, new MySearchListener());// 注意,MKSearchListener只支持一个,以最后一次设置为准  



 

搜索服务用到的知识:类MKSearch

用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索

字段摘要

类型名称static intEBUS_NO_SUBWAY

公交检索策略常量:不含地铁
static intEBUS_TIME_FIRST
公交检索策略常量:时间优先
static intEBUS_TRANSFER_FIRST
公交检索策略常量:最少换乘
static intEBUS_WALK_FIRST
公交检索策略常量:最少步行距离
static intECAR_DIS_FIRST
驾乘检索策略常量:最短距离
static intECAR_FEE_FIRST
驾乘检索策略常量:较少费用
static intECAR_TIME_FIRST
驾乘检索策略常量:时间优先
static intTYPE_AREA_POI_LIST
范围搜索、周边搜索poi列表
static intTYPE_CITY_LIST
城市列表
static intTYPE_POI_LIST
城市内搜索poi列表
static intTYPE_AREA_MULTI_POI_LIST
城市内多关键字范围搜索列表

构造方法摘要

方法MKSearch()

构造函数

方法摘要

返回类型方法intdrivingSearch(java.lang.String startCity, MKPlanNode start, java.lang.String endCity, MKPlanNode end)

驾乘路线搜索.
static intgetPoiPageCapacity ()
返回每页容量
intgoToPoiPage(int num)
获取指定页的的poi结果.
booleaninit(BMapManager bmapMan, MKSearchListener listener)
初使化
intpoiSearchInbounds(java.lang.String key, GeoPoint ptLB, GeoPoint ptRT)
根据范围和检索词发起范围检索.
intpoiMultiSearchInbounds(java.lang.String key, GeoPoint ptLB, GeoPoint ptRT)
根据范围和多检索词发起范围检索.
intpoiSearchInCity(java.lang.String city, java.lang.String key)
城市poi检索.
intpoiSearchNearBy(java.lang.String key, GeoPoint pt, int radius)
根据中心点、半径与检索词发起周边检索.
intpoiMultiSearchNearBy(java.lang.String key, GeoPoint pt, int radius)
根据中心点、半径与多检索词发起周边检索.
intreverseGeocode(GeoPoint pt)
根据地理坐标点获取地址信息 异步函数,返回结果在MKSearchListener里的onGetAddrResult方法通知
intgeocode(java.lang.String strAddr, java.lang.String city)
根据地址名获取地址信息 异步函数,返回结果在MKSearchListener里的onGetAddrResult方法通知
intsetDrivingPolicy(int policy)
设置驾车路线规划策略.
static voidsetPoiPageCapacity(int num)
设置每页容量.
intsetTransitPolicy(int policy)
设置路线规划策略.
inttransitSearch(java.lang.String city, MKPlanNode start, MKPlanNode end)
公交路线搜索。
intwalkingSearch(java.lang.String startCity, MKPlanNode start, java.lang.String endCity, MKPlanNode end)
步行路线搜索.


 

POI搜索有三种方式,根据范围和检索词发起范围检索poiSearchInbounds,城市poi检索poiSearchInCity,周边检索poiSearchNearBy。

下以周边检索为例介绍如何进行检索并显示覆盖物PoiOverlay:

public int poiSearchNearBy(java.lang.String key, GeoPoint pt, int radius)

根据中心点、半径与检索词发起周边检索. 

异步函数,返回结果在MKSearchListener里的onGetPoiResult方法通知
参数:
key - 关键词
pt - 中心点地理坐标
radius - 半径,单位:米
返回:
成功返回0,否则返回-1

Demo: 检索天安门周边5000米之内的KFC餐厅


[java] view plaincopyprint?
  1. mMKSearch.poiSearchNearBy("KFC"new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6)), 5000);  




实现MySearchListener的onGetPoiResult,并展示检索结果:
[java] view plaincopyprint?
  1. public void onGetPoiResult(MKPoiResult result, int type, int iError) {  
  2.     if (result == null) {  
  3.         return;  
  4.     }  
  5.     PoiOverlay poioverlay = new PoiOverlay(MyMapActivity.this, mMapView);  
  6.     poioverlay.setData(result.getAllPoi());  
  7.     mMapView.getOverlays().add(poioverlay);  
  8. }  




具体实现:
[java] view plaincopyprint?
  1. package xiaosi.baiduMap;  
  2.   
  3. import android.os.Bundle;  
  4.   
  5. import com.baidu.mapapi.BMapManager;  
  6. import com.baidu.mapapi.GeoPoint;  
  7. import com.baidu.mapapi.MKAddrInfo;  
  8. import com.baidu.mapapi.MKDrivingRouteResult;  
  9. import com.baidu.mapapi.MKPoiResult;  
  10. import com.baidu.mapapi.MKSearch;  
  11. import com.baidu.mapapi.MKSearchListener;  
  12. import com.baidu.mapapi.MKTransitRouteResult;  
  13. import com.baidu.mapapi.MKWalkingRouteResult;  
  14. import com.baidu.mapapi.MapActivity;  
  15. import com.baidu.mapapi.MapController;  
  16. import com.baidu.mapapi.MapView;  
  17. import com.baidu.mapapi.PoiOverlay;  
  18.   
  19. public class BaiduMapActivity extends MapActivity  
  20. {  
  21.     /** Called when the activity is first created. */  
  22.     private BMapManager mapManager = null;  
  23.     private String key = "1B79478DA01F7800AEA8602517A6D89B38151105";  
  24.     private MapView mapView = null;  
  25.   
  26.     @Override  
  27.     public void onCreate(Bundle savedInstanceState)  
  28.     {  
  29.         super.onCreate(savedInstanceState);  
  30.         setContentView(R.layout.main);  
  31.         mapManager = new BMapManager(getApplication());  
  32.         mapManager.init(key, null);  
  33.         super.initMapActivity(mapManager);  
  34.         mapView = (MapView) findViewById(R.id.mapsView);  
  35.         mapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件  
  36.         MapController mapController = mapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放  
  37.         mapController.setZoom(12); // 设置地图zoom级别  
  38.           
  39.           
  40.         MKSearch mKSearch = new MKSearch();  
  41.         mKSearch.init(mapManager, new MySearchListener());// 注意,MKSearchListener只支持一个,以最后一次设置为准  
  42.         mKSearch.poiSearchNearBy("KFC"new GeoPoint((int) (39.915 * 1E6),  
  43.                 (int) (116.404 * 1E6)), 5000);  
  44.     }  
  45.   
  46.     public class MySearchListener implements MKSearchListener  
  47.     {  
  48.         public void onGetAddrResult(MKAddrInfo arg0, int arg1)  
  49.         {}  
  50.   
  51.         public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1)  
  52.         {}  
  53.   
  54.         public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2)  
  55.         {  
  56.             if (arg0 == null) {  
  57.                 return;  
  58.             }  
  59.             PoiOverlay poioverlay = new PoiOverlay(BaiduMapActivity.this, mapView);  
  60.             poioverlay.setData(arg0.getAllPoi());  
  61.             mapView.getOverlays().add(poioverlay);  
  62.         }  
  63.   
  64.         public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1)  
  65.         {}  
  66.   
  67.         public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1)  
  68.         {}  
  69.     }  
  70.   
  71.     @Override  
  72.     protected boolean isRouteDisplayed()  
  73.     {  
  74.         return false;  
  75.     }  
  76.   
  77.     @Override  
  78.     protected void onDestroy()  
  79.     {  
  80.         if (mapManager != null)  
  81.         {  
  82.             mapManager.destroy();  
  83.             mapManager = null;  
  84.         }  
  85.         super.onDestroy();  
  86.     }  
  87.   
  88.     @Override  
  89.     protected void onPause()  
  90.     {  
  91.         if (mapManager != null)  
  92.         {  
  93.             mapManager.stop();  
  94.         }  
  95.         super.onPause();  
  96.     }  
  97.   
  98.     @Override  
  99.     protected void onResume()  
  100.     {  
  101.         if (mapManager != null)  
  102.         {  
  103.             mapManager.start();  
  104.         }  
  105.         super.onResume();  
  106.     }  
  107. }  

 


[java] view plaincopyprint?
  1. package xiaosi.baiduMap;  
  2.   
  3. import android.app.AlertDialog;  
  4. import android.content.DialogInterface;  
  5. import android.os.Bundle;  
  6.   
  7. import com.baidu.mapapi.BMapManager;  
  8. import com.baidu.mapapi.GeoPoint;  
  9. import com.baidu.mapapi.MKAddrInfo;  
  10. import com.baidu.mapapi.MKDrivingRouteResult;  
  11. import com.baidu.mapapi.MKPoiInfo;  
  12. import com.baidu.mapapi.MKPoiResult;  
  13. import com.baidu.mapapi.MKSearch;  
  14. import com.baidu.mapapi.MKSearchListener;  
  15. import com.baidu.mapapi.MKTransitRouteResult;  
  16. import com.baidu.mapapi.MKWalkingRouteResult;  
  17. import com.baidu.mapapi.MapActivity;  
  18. import com.baidu.mapapi.MapController;  
  19. import com.baidu.mapapi.MapView;  
  20. import com.baidu.mapapi.PoiOverlay;  
  21.   
  22. public class BaiduMapActivity extends MapActivity  
  23. {  
  24.     /** Called when the activity is first created. */  
  25.     private BMapManager mapManager = null;  
  26.     private String key = "1B79478DA01F7800AEA8602517A6D89B38151105";  
  27.     private MapView mapView = null;  
  28.     private MKSearch mKSearch;  
  29.     private MapController mapController = null;  
  30.   
  31.     @Override  
  32.     public void onCreate(Bundle savedInstanceState)  
  33.     {  
  34.         super.onCreate(savedInstanceState);  
  35.         setContentView(R.layout.main);  
  36.         mapManager = new BMapManager(getApplication());  
  37.         mapManager.init(key, null);  
  38.         super.initMapActivity(mapManager);  
  39.         mapView = (MapView) findViewById(R.id.mapView);  
  40.         // 设置启用内置的缩放控件  
  41.         mapView.setBuiltInZoomControls(true);   
  42.         // 得到mMapView的控制权,可以用它控制和驱动平移和缩放  
  43.         mapController = mapView.getController();   
  44.         // 设置地图zoom级别  
  45.         mapController.setZoom(12);   
  46.           
  47.         mKSearch = new MKSearch();  
  48.         mKSearch.init(mapManager, new MySearchListener());// 注意,MKSearchListener只支持一个,以最后一次设置为准  
  49.         //搜索山东科技大学附近(5000)的KTV  
  50.         if (mKSearch.poiSearchNearBy("KTV"new GeoPoint(  
  51.                 (int) (36.001618315221194 * 1E6),  
  52.                 (int) (120.11934041976929 * 1E6)), 5000) == -1)  
  53.         {  
  54.             System.out.println("失败");  
  55.         }  
  56.         else  
  57.         {  
  58.             System.out.println("成功");  
  59.         }  
  60.     }  
  61.   
  62.     public class MySearchListener implements MKSearchListener  
  63.     {  
  64.         public void onGetAddrResult(MKAddrInfo arg0, int arg1)  
  65.         {  
  66.             /* 
  67.              * 返回地址信息搜索结果。 参数: arg0 - 搜索结果 arg1 - 错误号,0表示结果正确,result中有相关结果信息;100表示结果正确,无相关地址信息 
  68.              */  
  69.         }  
  70.   
  71.         public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1)  
  72.         {  
  73.             /* 
  74.              * 返回驾乘路线搜索结果。 参数: arg0 - 搜索结果 arg1 - 错误号,0表示正确返回 
  75.              */  
  76.         }  
  77.   
  78.         public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2)  
  79.         {  
  80.             String result = "";  
  81.             /* 
  82.              * 返回poi搜索结果。 参数: arg0 - 搜索结果 arg1 - 返回结果类型: MKSearch.TYPE_POI_LIST MKSearch.TYPE_AREA_POI_LIST MKSearch.TYPE_CITY_LIST arg2 - 错误号,0表示正确返回 
  83.              */  
  84.             if (arg0 == null)  
  85.             {  
  86.                 return;  
  87.             }  
  88.             // 清除地图上已有的所有覆盖物  
  89.             // mapView.getOverlays().clear();  
  90.             // PoiOverlay是baidu map api提供的用于显示POI的Overlay  
  91.             PoiOverlay poioverlay = new PoiOverlay(BaiduMapActivity.this,  
  92.                     mapView);  
  93.             // 在地图上显示PoiOverlay(将搜索到的兴趣点标注在地图上)  
  94.             poioverlay.setData(arg0.getAllPoi());  
  95.             // 为地图添加覆盖物  
  96.             mapView.getOverlays().add(poioverlay);  
  97.             //刚开始忘记加这几句代码,地图一直没改变,纠结了很长时间  
  98.             if (arg0.getNumPois() > 0)  
  99.             {  
  100.                 // 设置其中一个搜索结果所在地理坐标为地图的中心  
  101.                 MKPoiInfo poiInfo = arg0.getPoi(0);  
  102.                 mapController.setCenter(poiInfo.pt);  
  103.             }  
  104.               
  105.             // 遍历当前页返回的搜索结果(默认只返回10个)   
  106.             for (MKPoiInfo poiInfo : arg0.getAllPoi())  
  107.             {  
  108.                 result = result + "\n"+  "名称:" + poiInfo.name + "\n" + "地址:" + poiInfo.address + "\n" + "城市:" + poiInfo.city;  
  109.             }  
  110.               
  111.               
  112.             //用AlertDialog来显示搜索到的内容  
  113.             AlertDialog.Builder builder = new AlertDialog.Builder(BaiduMapActivity.this);     
  114.             builder.setTitle("搜索结果");    
  115.             builder.setMessage(result);    
  116.             builder.setPositiveButton("关闭"new android.content.DialogInterface.OnClickListener(){    
  117.         
  118.                 public void onClick(DialogInterface dialog, int which) {    
  119.                     dialog.dismiss();  
  120.                 }    
  121.             });    
  122.             builder.show();  
  123.               
  124.         }  
  125.   
  126.         public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1)  
  127.         {  
  128.             /* 
  129.              * 返回公交搜索结果。 参数: arg0 - 搜索结果 arg1 - 错误号,0表示正确返回, 当返回MKEvent.ERROR_ROUTE_ADDR时,表示起点或终点有歧义, 调用MKTransitRouteResult的getAddrResult方法获取推荐的起点或终点信息 
  130.              */  
  131.         }  
  132.   
  133.         public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1)  
  134.         {  
  135.             /* 
  136.              * 返回步行路线搜索结果。 参数: arg0 - 搜索结果 arg1 - 错误号,0表示正确返回 
  137.              */  
  138.         }  
  139.     }  
  140.   
  141.     @Override  
  142.     protected boolean isRouteDisplayed()  
  143.     {  
  144.         return false;  
  145.     }  
  146.   
  147.     @Override  
  148.     protected void onDestroy()  
  149.     {  
  150.         if (mapManager != null)  
  151.         {  
  152.             mapManager.destroy();  
  153.             mapManager = null;  
  154.         }  
  155.         super.onDestroy();  
  156.     }  
  157.   
  158.     @Override  
  159.     protected void onPause()  
  160.     {  
  161.         if (mapManager != null)  
  162.         {  
  163.             mapManager.stop();  
  164.         }  
  165.         super.onPause();  
  166.     }  
  167.   
  168.     @Override  
  169.     protected void onResume()  
  170.     {  
  171.         if (mapManager != null)  
  172.         {  
  173.             mapManager.start();  
  174.         }  
  175.         super.onResume();  
  176.     }  
  177. }  



 


 

原创粉丝点击