软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 移动开发 -> androidPOI搜索,附近搜索,周边搜索定位介绍 -> 正文阅读

[移动开发]androidPOI搜索,附近搜索,周边搜索定位介绍


       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 plaincopy
  1. mMKSearch.poiSearchNearBy("KFC"new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6)), 5000);  

[img]http://hi.csdn.net/attachment/201203/5/0_1330935192NNnX.gif





实现MySearchListener的onGetPoiResult,并展示检索结果:


[java] view plaincopy
  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 plaincopy
  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. }  

......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2015-04-01 00:53:43  
移动开发 最新文章
深入了解android中的消息机制Handler
Android
Libgdx之BitmapFont字体
AndroidApp发布到应用市场的流程
Android开发找工作之前先看看这些知识点吧
View的事件分发机制解析
简单介绍了解白鹭引擎Egret
Cocos2d
android获取本地图片(二)
动画特效七:碰撞动画
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年9日历
2017-9-24 16:52:00
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --