Exemplo n.º 1
0
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == R.id.credits) {
      startActivity(new Intent(this, LegalNoticesActivity.class));

      return (true);
    } else if (item.getItemId() == R.id.satellite) {
      ViewMapFragment mMapFragment =
          (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
      mMapFragment.changeView(ViewMapFragment.MapType.Satellite);

    } else if (item.getItemId() == R.id.hybrid) {
      ViewMapFragment mMapFragment =
          (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
      mMapFragment.changeView(ViewMapFragment.MapType.Hybrid);
    } else if (item.getItemId() == R.id.map_only) {
      ViewMapFragment mMapFragment =
          (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
      mMapFragment.changeView(ViewMapFragment.MapType.Map);
    } else if (item.getItemId() == R.id.terrain) {
      ViewMapFragment mMapFragment =
          (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
      mMapFragment.changeView(ViewMapFragment.MapType.Terrain);
    } else if (item.getItemId() == R.id.add_new) {
      if (isOnline()) {
        if (PreferenceManager.getDefaultSharedPreferences(this)
            .getString("accessToken", "")
            .equals("")) {
          FragmentManager fm = getSupportFragmentManager();
          OAuthFragmentDialog oAuthFragmentDialog = OAuthFragmentDialog.newInstance();
          oAuthFragmentDialog.show(fm, "fragment_login");
        } else {
          // TODO verify token
          if (adview != null) {
            // adview.destroy();
            adview.setVisibility(View.GONE);
          }
          addNewNode();
        }
      }

    } else if (item.getItemId() == R.id.menu_settings) {
      // launch prefs
      Intent gopref = new Intent(this, PreferencesActivity.class);
      gopref.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(gopref);
      finish();
      return true;
    }

    return super.onOptionsItemSelected(item);
  }
Exemplo n.º 2
0
  @Background
  public void updatePOIs(LatLng loc) {
    double lat = loc.latitude;
    double lon = loc.longitude;
    Log.d(TAG, "Camera center: Lat: " + lat + " Long: " + lon);
    ViewMapFragment frag = (ViewMapFragment) mMapFragment;
    List<OSMNode> NodesList = null;
    boolean fountain = false;
    boolean toilet = false;
    boolean rest = false;
    if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("show_fountain", true)) {
      fountain = true;
    }

    if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("show_toilet", true)) {
      toilet = true;
    }

    if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("show_rest", false)) {
      rest = true;
    }

    try {
      NodesList = OSMWrapperAPI.fetch(lon, lat, 0.005, fountain, toilet, rest);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (SAXException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (ParserConfigurationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    Iterator<OSMNode> geolistIterator;
    try {
      geolistIterator = NodesList.iterator();
    }
    // If the list is empty...
    catch (NullPointerException e) {
      stopProgressbar();
      return;
    }

    try {
      while (geolistIterator.hasNext()) {
        // Log.d(MapActivity.tag,"Adding GeoPoint");
        OSMNode osmNode = geolistIterator.next();
        Map<String, String> tag = osmNode.getTags();

        // Remove duplicates
        // TODO: move this into a method
        boolean tapExists = false;
        boolean toiletExists = false;
        boolean foodExists = false;

        Iterator<OSMNode> tapItemIterator = allTapItem.iterator();
        while (tapItemIterator.hasNext()) {
          OSMNode item = tapItemIterator.next();
          if (item.getId().equals(osmNode.getId())) {
            tapExists = true;
            //	Log.d(TAG, item.getId() + ": Node Exists");
          }
          tapItemIterator.remove();
        }

        Iterator<OSMNode> toiletItemIterator = allToiletItem.iterator();
        while (toiletItemIterator.hasNext()) {
          OSMNode item = toiletItemIterator.next();
          if (item.getId().equals(osmNode.getId())) {
            toiletExists = true;
            //	Log.d(TAG, item.getId() + ": Node Exists");
          }
          toiletItemIterator.remove();
        }

        Iterator<OSMNode> foodItemIterator = allFoodItem.iterator();
        while (foodItemIterator.hasNext()) {
          OSMNode item = foodItemIterator.next();
          if (item.getId().equals(osmNode.getId())) {
            foodExists = true;
            //	Log.d(TAG, item.getId() + ": Node Exists");
          }
          foodItemIterator.remove();
        }

        if (tag.containsValue("drinking_water") && !tapExists) {
          allTapItem.add(osmNode);
        } else if (tag.containsValue("toilets") && !toiletExists) {
          allToiletItem.add(osmNode);
        } else if ((tag.containsValue("fast_food")
                || tag.containsValue("cafe")
                || tag.containsValue("food_court")
                || tag.containsValue("restaurant"))
            && !foodExists) {
          allFoodItem.add(osmNode);
        }
        frag.addMarker(osmNode);
        geolistIterator.remove();
      }
      Log.d(
          TAG,
          "Tap Overlay Size: "
              + allTapItem.size()
              + "\nToilet Overlay Size: "
              + allToiletItem.size()
              + "\nFood Overlay Size: "
              + allFoodItem.size());
    } catch (ConcurrentModificationException e) {
      Log.e(TAG, "ConcurrentModificationException has occured " + e.getStackTrace());
    }
    stopProgressbar();
  }
Exemplo n.º 3
0
 @UiThread
 public void cancel_node_add_handler() {
   ViewMapFragment mMapFragment =
       (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
   mMapFragment.hideNewNodeOverlay();
 }
Exemplo n.º 4
0
 public void showAddNodeFragmentDialog(View v) {
   ViewMapFragment mMapFragment =
       (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
   mMapFragment.showAddNodeFragmentDialog();
 }
Exemplo n.º 5
0
 @UiThread
 public void addNewNode() {
   ViewMapFragment mMapFragment =
       (ViewMapFragment) getSupportFragmentManager().findFragmentByTag("map");
   mMapFragment.addNewNode();
 }