Esempio n. 1
0
  @Override
  public boolean onTap(GeoPoint p, MapView mapView) {
    tappedIndex = -1;
    boolean itemTapped = super.onTap(p, mapView);
    if (!isPinch && itemTapped) {
      PopupViewHolder popupVH = (PopupViewHolder) popupView.getTag();

      SearchResult item = items.get(tappedIndex);
      mapParams.point = item.getPoint();
      mapView.setTag(R.id.tag_geopoint, item.getPoint());
      popupVH.buttonCreate.setVisibility(View.VISIBLE);
      popupVH.buttonDelete.setVisibility(View.GONE);
      popupVH.buttonSave.setVisibility(View.GONE);

      Address address = item.getAddress();
      String feature = address.getFeatureName();
      if (feature != null) popupVH.editTitle.setText(feature);
      else popupVH.editTitle.setText(null);

      String addressStr = "";
      int lines = address.getMaxAddressLineIndex() + 1;
      for (int i = 0; i < lines; i++) {
        addressStr += address.getAddressLine(i);
        if (i != lines - 1) addressStr += "\n";
      }
      popupVH.editSnippet.setText(addressStr);

      mapView.removeView(popupView);
      popupView.setLayoutParams(mapParams);
      mapView.addView(popupView);

      tappedItem = item;
    } else {
      tappedItem = null;
    }
    return false;
  }