是这样的,为了实现线路规划,按照百度地图的demo中讲的进行设置:
mRoutePlan = RoutePlanSearch.newInstance();
mRoutePlan.setOnGetRoutePlanResultListener(listener);
我实现了listener,是这样的:
public void onGetWalkingRouteResult(WalkingRouteResult result) { // TODO Auto-generated method stub System.out.println("打印onGetWalkingRouteResult"); if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) { Toast.makeText(MainActivity.this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show(); } if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) { // 起终点或途经点地址有岐义,通过以下接口获取建议查询信息 // result.getSuggestAddrInfo() return; } if (result.error == SearchResult.ERRORNO.NO_ERROR) { WalkingRouteOverlay routeOverlay = new WalkingRouteOverlay( mBaiduMap); // 此处仅展示一个方案作为示例 routeOverlay.setData(result.getRouteLines().get(0)); mBaiduMap.setOnMarkerClickListener(routeOverlay); routeOverlay.addToMap(); routeOverlay.zoomToSpan(); } } };
我在另外一个地方获取当前位置,就是BDLocationListener,在里面不断执行画路线,执行
mRoutePlan.walkingSearch(new WalkingRoutePlanOption().from(startNode).to(endNode));
问题来了,经过调试发现,它没有调用listener,这是什么原因呢?