/**
   * 节点浏览示例
   *
   * @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;
 }
Esempio n. 4
0
  /**
   * 节点浏览示例
   *
   * @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);
      }
    }
  }