walkDemo
来源:互联网 发布:5800简单编程教学 编辑:程序博客网 时间:2024/06/06 04:33
如何在地图上生成一个完整的行走路线规划???
其实很容易,我们只需要构造一个search()函数就够用了
private void search() {
MKSearch search=new MKSearch();
search.init(bmapmanager, new MyMKSearchListenerAdapter(){
@Override
public void onGetWalkingRouteResult(MKWalkingRouteResult result,int iError)
{
RouteOverlay overlay=new RouteOverlay(WalkActivity.this, mapview);
setData(overlay,result);
mapview.getOverlays().add(overlay);
mapview.refresh();
super.onGetWalkingRouteResult(result, iError);
}
这里首先需要明确的是,init函数的两个参数分别是MKSearch类型和MKSearchListener类型的实例化对象构成的
这里主要是和一种异步函数这种机制有关系。异步函数可以理解为返回值在其他类的函数(在MKSearcListener类)
然后
void
onGetAddrResult(MKAddrInfo result, int iError)
返回地址信息搜索结果
void
onGetBusDetailResult(MKBusLineResult result, int iError)
返回公交车详情信息搜索结果
void
onGetDrivingRouteResult(MKDrivingRouteResult result, int iError)
返回驾乘路线搜索结果
void
onGetPoiDetailSearchResult(int type, int iError)
返回poi相信信息搜索的结果
void
onGetPoiResult(MKPoiResult result, int type, int iError)
返回poi搜索结果
void
onGetSuggestionResult(MKSuggestionResult result, int iError)
返回联想词信息搜索结果
void
onGetTransitRouteResult(MKTransitRouteResult result, int iError)
返回公交搜索结果
void
onGetWalkingRouteResult(MKWalkingRouteResult result, int iError)
返回步行路线搜索结果一目了然,因为我们是想要得到步行的搜索结果,所以需要返回onGetWalkingRouteResult()方法
onGetWalkingRouteResult
void onGetWalkingRouteResult(MKWalkingRouteResult result, int iError)
- 返回步行路线搜索结果
- 参数:
result
- 搜索结果iError
- 错误号,0表示正确返回
new 一个 setdata()放入数据 overlay getoverlay(获得集合) add(将overlay加入到该集合中)fresh(手动刷新)
onGetWalkingRouteResult(MKWalkingRouteResult result,int iError)
setData(overlay,result);//注意看setData 会使用到result
MKPlanNode start=new MKPlanNode();
start.pt=point;
MKPlanNode end=new MKPlanNode();
end.pt=pingpangpoint;
search.walkingSearch("西安", start, "西安", end);
}
search.walkingSearch("西安", start, "西安", end);//start和end就是我们所说的起点和终点,
类型是MKPlanNode,需要进行初始化,之后start.pt=point;就是付给它初始值。
protected void setData(RouteOverlay overlay, MKWalkingRouteResult result) {
if(result.getNumPlan()>0){
MKRoutePlan plan=result.getPlan(0);
MKRoute route=plan.getRoute(0) ;
overlay.setData(route);
}
这个是我们定义的setData函数plan是result和route的桥梁,plan通过getPlan得到,plan再一次getroute得到route,
route才能够作为setData的输入值。
- walkDemo
- Android上dip、dp、px、sp等单位说明
- appweb的开发步骤简介
- 创业者复盘长文:心有菩提手有刀,欲成舍利却成妖
- java笔记心得2
- Android Dialog
- walkDemo
- 【个人机房重构】—— 将DataGridView中的数据导出到Excel表中㈣
- asp.net多条件ajax查询
- Java 7之集合类型 - Vector与Stack
- 正则表达式的使用(3)__常用的正则表达式(积累)2
- Java中HashSet详解
- Upgrade from 10.2.0.4 to 11.2.0.3.2 including Time Zone files
- Linux常用的60个命令
- html 实现文字左右滚动的方法