软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 移动开发 -> androidPOI搜索,附近搜索,周边搜索定位介绍 -> 正文阅读
移动开发 最新文章
深入了解android中的消息机制Handler
Android
Libgdx之BitmapFont字体
AndroidApp发布到应用市场的流程
Android开发找工作之前先看看这些知识点吧
View的事件分发机制解析
简单介绍了解白鹭引擎Egret
Cocos2d
android获取本地图片(二)
动画特效七:碰撞动画

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

  2015-04-01 00:54:37

       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);  







实现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  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图 中国文化英文 多播视频 装修知识库
2017-3-31 0:30:16
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --