首页 > 代码库 > Android应用中使用百度地图API之POI(三)
Android应用中使用百度地图API之POI(三)
先看运行后的图吧:
POI(Point of Interest),中文可以翻译为“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等 详细:http://developer.baidu.com/map/sdkandev-4.htm
主要应用 MKSearch 类:
com.baidu.mapapi.search
类 MKSearch
- java.lang.Object
- com.baidu.mapapi.search.MKSearch
public class MKSearch extends java.lang.Object
搜索服务.用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索
字段概要
限定符和类型 字段和说明 static int
EBUS_NO_SUBWAY
公交检索策略常量:不含地铁static int
EBUS_TIME_FIRST
公交检索策略常量:时间优先static int
EBUS_TRANSFER_FIRST
公交检索策略常量:最少换乘static int
EBUS_WALK_FIRST
公交检索策略常量:最少步行距离static int
ECAR_AVOID_JAM
驾车策略: 躲避拥堵static int
ECAR_DIS_FIRST
驾乘检索策略常量:最短距离static int
ECAR_FEE_FIRST
驾乘检索策略常量:较少费用static int
ECAR_TIME_FIRST
驾乘检索策略常量:时间优先static int
POI_DETAIL_SEARCH
poi详细信息检索页面static int
TYPE_AREA_MULTI_POI_LIST
多关键字范围搜索、周边搜索poi列表static int
TYPE_AREA_POI_LIST
范围搜索、周边搜索poi列表static int
TYPE_CITY_LIST
城市列表static int
TYPE_POI_LIST
城市内搜索poi列表
方法概要
限定符和类型 | 方法和说明 |
---|---|
int | busLineSearch(java.lang.String city, java.lang.String busLineUid) 公交路线详细信息搜索 异步函数,返回结果在MKSearchListener里的onGetBusDetailResult方法通知 |
void | destory() 销毁MKSearch 模块 , 当不再使用Search 功能时,需要调用此函数 |
int | drivingSearch(java.lang.String startCity, MKPlanNode start, java.lang.String endCity, MKPlanNode end) 驾乘路线搜索. |
int | drivingSearch(java.lang.String startCity, MKPlanNode start, java.lang.String endCity, MKPlanNode end, java.util.List<MKWpNode> wpNodes) 驾车路线搜索,可设置途经点 异步函数,返回结果在MKSearchListener里的onGetDrivingRouteResult方法通知 |
int | geocode(java.lang.String strAddr, java.lang.String city) 根据地址名获取地址信息 异步函数,返回结果在MKSearchListener里的onGetAddrResult方法通知 |
int | getPoiPageCapacity() 返回每页容量 |
int | goToPoiPage(int num) 获取指定页的的poi结果. |
boolean | init(BMapManager bmapMan, MKSearchListener listener) 初使化,使用完成后,请调用 destroy 函数释放资源 |
int | poiDetailSearch(java.lang.String uid) poi详细信息检索 |
boolean | poiDetailShareURLSearch(java.lang.String poiUid) 获取POI信息共享短url. |
boolean | poiRGCShareURLSearch(GeoPoint location, java.lang.String name, java.lang.String address) 获取地址信息共享短URL. |
int | poiSearchInbounds(java.lang.String key, GeoPoint ptLB, GeoPoint ptRT) 根据范围和检索词发起范围检索. |
int | poiSearchInCity(java.lang.String city, java.lang.String key) 城市poi检索. |
int | poiSearchNearBy(java.lang.String key, GeoPoint pt, int radius) 根据中心点、半径与检索词发起周边检索. |
int | reverseGeocode(GeoPoint pt) 根据地理坐标点获取地址信息 异步函数,返回结果在MKSearchListener里的onGetAddrResult方法通知 |
int | setDrivingPolicy(int policy) 设置驾车路线规划策略. |
void | setPoiPageCapacity(int num) 设置每页容量. |
int | setTransitPolicy(int policy) 设置路线规划策略. |
int | suggestionSearch(java.lang.String key, java.lang.String city) 联想词检索,根据模糊的不完备的检索词返回精确的建议搜索词 异步函数,返回结果在MKSearchListener里的onGetSuggestionResult方法通知 |
int | transitSearch(java.lang.String city, MKPlanNode start, MKPlanNode end) 公交路线搜索. |
int | walkingSearch(java.lang.String startCity, MKPlanNode start, java.lang.String endCity, MKPlanNode end) 步行路线搜索. |
通过上面的阅读应该有所了解了吧,直接代码了。。
这里的代码和前面(http://blog.csdn.net/majianjie/article/details/27958929)的代码变化不大:
MainActivity.java
package com.majianjie.baidumap; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.MeasureSpec; import android.view.Window; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.MKGeneralListener; import com.baidu.mapapi.map.LocationData; import com.baidu.mapapi.map.MKEvent; import com.baidu.mapapi.map.MKMapViewListener; import com.baidu.mapapi.map.MapController; import com.baidu.mapapi.map.MapPoi; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.MyLocationOverlay; import com.baidu.mapapi.map.PoiOverlay; import com.baidu.mapapi.map.PopupClickListener; import com.baidu.mapapi.map.PopupOverlay; 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 com.example.baidumap.R; public class MainActivity extends Activity { //声明控件 private Button request; private static StringBuilder sb = new StringBuilder(); private int i=1; private Toast mToast=null; private BMapManager mBMapManager=null; private MapView mMapView = null; //MapView 是地图主控件 private MapController mMapController = null;//用MapController完成地图控制 private LocationClient mLocClient; public LocationData mLocData = http://www.mamicode.com/null;>有关性能的优化,这里不多讲解,正在学习中。。。/呵呵
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。