/** * 节点浏览示例 * * @param v */ public void nodeClick(View v) { if (nodeIndex < -1 || route == null || nodeIndex >= route.getNumSteps()) return; viewCache = getLayoutInflater().inflate(R.layout.custom_text_view, null); popupText = (TextView) viewCache.findViewById(R.id.textcache); // 上一个节点 if (mBtnPre.equals(v) && nodeIndex > 0) { // 索引减 nodeIndex--; // 移动到指定索引的坐标 mMapView.getController().animateTo(route.getStep(nodeIndex).getPoint()); // 弹出泡泡 popupText.setText(route.getStep(nodeIndex).getContent()); popupText.setBackgroundResource(R.drawable.popup); pop.showPopup(BMapUtil.getBitmapFromView(popupText), route.getStep(nodeIndex).getPoint(), 5); } // 下一个节点 if (mBtnNext.equals(v) && nodeIndex < (route.getNumSteps() - 1)) { // 索引加 nodeIndex++; // 移动到指定索引的坐标 mMapView.getController().animateTo(route.getStep(nodeIndex).getPoint()); // 弹出泡泡 popupText.setText(route.getStep(nodeIndex).getContent()); popupText.setBackgroundDrawable(getResources().getDrawable(R.drawable.popup)); pop.showPopup(BMapUtil.getBitmapFromView(popupText), route.getStep(nodeIndex).getPoint(), 5); } }
public boolean onTap(GeoPoint pt, MapView mapView) { if (pop != null) { pop.hidePop(); } super.onTap(pt, mapView); return false; }
@Override public boolean onTouchEvent(MotionEvent event) { if (!super.onTouchEvent(event)) { // 消隐泡泡 if (pop != null && event.getAction() == MotionEvent.ACTION_UP) pop.hidePop(); } return true; }
/** * 节点浏览示例 * * @param v */ public void nodeClick(View v) { viewCache = getLayoutInflater().inflate(R.layout.custom_text_view, null); popupText = (TextView) viewCache.findViewById(R.id.textcache); if (searchType == 0 || searchType == 2) { // 驾车、步行使用的数据结构相同,因此类型为驾车或步行,节点浏览方法相同 if (nodeIndex < -1 || route == null || nodeIndex >= route.getNumSteps()) return; // 上一个节点 if (mBtnPre.equals(v) && nodeIndex > 0) { // 索引减 nodeIndex--; // 移动到指定索引的坐标 mMapView.getController().animateTo(route.getStep(nodeIndex).getPoint()); // 弹出泡泡 popupText.setBackgroundResource(R.drawable.popup); popupText.setText(route.getStep(nodeIndex).getContent()); pop.showPopup( BMapUtil.getBitmapFromView(popupText), route.getStep(nodeIndex).getPoint(), 5); } // 下一个节点 if (mBtnNext.equals(v) && nodeIndex < (route.getNumSteps() - 1)) { // 索引加 nodeIndex++; // 移动到指定索引的坐标 mMapView.getController().animateTo(route.getStep(nodeIndex).getPoint()); // 弹出泡泡 popupText.setBackgroundResource(R.drawable.popup); popupText.setText(route.getStep(nodeIndex).getContent()); pop.showPopup( BMapUtil.getBitmapFromView(popupText), route.getStep(nodeIndex).getPoint(), 5); } } if (searchType == 1) { // 公交换乘使用的数据结构与其他不同,因此单独处理节点浏览 if (nodeIndex < -1 || transitOverlay == null || nodeIndex >= transitOverlay.getAllItem().size()) return; // 上一个节点 if (mBtnPre.equals(v) && nodeIndex > 1) { // 索引减 nodeIndex--; // 移动到指定索引的坐标 mMapView.getController().animateTo(transitOverlay.getItem(nodeIndex).getPoint()); // 弹出泡泡 popupText.setBackgroundResource(R.drawable.popup); popupText.setText(transitOverlay.getItem(nodeIndex).getTitle()); pop.showPopup( BMapUtil.getBitmapFromView(popupText), transitOverlay.getItem(nodeIndex).getPoint(), 5); } // 下一个节点 if (mBtnNext.equals(v) && nodeIndex < (transitOverlay.getAllItem().size() - 2)) { // 索引加 nodeIndex++; // 移动到指定索引的坐标 mMapView.getController().animateTo(transitOverlay.getItem(nodeIndex).getPoint()); // 弹出泡泡 popupText.setBackgroundResource(R.drawable.popup); popupText.setText(transitOverlay.getItem(nodeIndex).getTitle()); pop.showPopup( BMapUtil.getBitmapFromView(popupText), transitOverlay.getItem(nodeIndex).getPoint(), 5); } } }