Android Open Source - Mapyst Icon






From Project

Back to project page Mapyst.

License

The source code is released under:

Apache License

If you think the Android project Mapyst listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Mapyst//www.  j  a v  a  2s .c om
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.mapyst.android.ui;

import java.util.ArrayList;

import com.mapyst.route.Direction;
import com.mapyst.route.LatLngPoint;

import com.google.android.maps.GeoPoint;
import com.mapyst.android.Images;
import com.mapyst.android.MainScreen;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class Icon {
  public Bitmap bitmap;
  public GeoPoint geoPoint;
  public int dirIndex;

  public static int UP = 1;
  public static int DOWN = 2;

  public static ArrayList<Icon> collectIcons(MainScreen main,  Direction[] directions) {
    Bitmap startBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.START);
    Bitmap endBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.END);
    Bitmap upStairsBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.UP_STAIRS);
    Bitmap downStairsBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.DOWN_STAIRS);
    Bitmap upElevatorBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.UP_ELEVATOR);
    Bitmap downElevatorBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.DOWN_ELEVATOR);
    Bitmap upRampBitmap = BitmapFactory.decodeResource(main.getResources(),  Images.Icons.UP_RAMP);
    Bitmap downRampBitmap = BitmapFactory.decodeResource(main.getResources(), Images.Icons.DOWN_RAMP);

    ArrayList<Icon> icons = new ArrayList<Icon>();
    addIcon(icons, startBitmap, directions[0].getPoints()[0], 0);

    for (int i = 1; i < directions.length; i++) {
      if (directions[i].getType() == Direction.STAIRS) {
        // UP or DOWN
        if (getDirection(directions[i]) == UP) {
          // Assign end of previous direction a stair icon - going up
          directions[i - 1].setEndIcon(Images.Icons.UP_STAIRS);
          addIconForDirEnd(icons, upStairsBitmap, directions[i - 1], i);
        } else {
          directions[i - 1].setEndIcon(Images.Icons.DOWN_STAIRS);
          addIconForDirEnd(icons, downStairsBitmap, directions[i - 1], i);
        }
      } else if (directions[i].getType() == Direction.ELEVATOR) {
        // UP or DOWN
        if (getDirection(directions[i]) == UP) {
          // Assign end of previous direction a stair icon - going up
          directions[i - 1].setEndIcon(Images.Icons.UP_ELEVATOR);
          addIconForDirEnd(icons, upElevatorBitmap, directions[i - 1], i);
        } else {
          directions[i - 1].setEndIcon(Images.Icons.DOWN_ELEVATOR);
          addIconForDirEnd(icons, downElevatorBitmap, directions[i - 1], i);
        }
      }
      if (directions[i].getType() == Direction.RAMP) {
        // UP or DOWN
        if (getDirection(directions[i]) == UP) {
          // Assign end of previous direction a stair icon - going up
          directions[i - 1].setEndIcon(Images.Icons.UP_RAMP);
          addIconForDirEnd(icons, upRampBitmap, directions[i - 1], i);
        } else {
          directions[i - 1].setEndIcon(Images.Icons.DOWN_RAMP);
          addIconForDirEnd(icons, downRampBitmap, directions[i - 1], i);
        }
      }

    }

    // setting start icon
    directions[0].setStartIcon(Images.Icons.START);

    // setting end icon
    directions[directions.length - 1].setEndIcon(Images.Icons.END);
    addIconForDirEnd(icons, endBitmap, directions[directions.length - 1], directions.length - 1);

    return icons;
  }

  private static void addIconForDirEnd(ArrayList<Icon> icons, Bitmap bitmap, Direction direction, int dirIndex) {
    LatLngPoint[] dirPoints = direction.getPoints();
    addIcon(icons, bitmap, dirPoints[dirPoints.length - 1], dirIndex);
  }

  private static void addIcon(ArrayList<Icon> icons, Bitmap bitmap, LatLngPoint latlngPoint, int dirIndex) {
    Icon newIcon = new Icon();
    newIcon.bitmap = bitmap;
    newIcon.dirIndex = dirIndex;
        newIcon.geoPoint = DrawingHelpers.convertPointToGeo(latlngPoint);

    icons.add(newIcon);
  }

  public static int getDirection(Direction dir) {
    int start = dir.getStart().getFloorIndex();
    int end = dir.getEnd().getFloorIndex();

    if (start > end) {
      return DOWN;
    } else {
      return UP;
    }
  }
}




Java Source Code List

com.mapyst.FileHandlerInterface.java
com.mapyst.android.AndroidFileHandler.java
com.mapyst.android.CampusLoader.java
com.mapyst.android.Compass.java
com.mapyst.android.DirectionsList.java
com.mapyst.android.Images.java
com.mapyst.android.LocationFinder.java
com.mapyst.android.MainScreen.java
com.mapyst.android.Mapyst.java
com.mapyst.android.Settings.java
com.mapyst.android.Splash.java
com.mapyst.android.asynctask.CampusLoaderTaskPrefs.java
com.mapyst.android.asynctask.CampusLoaderTask.java
com.mapyst.android.asynctask.RouteMakerTaskPrefs.java
com.mapyst.android.asynctask.RouteMakerTask.java
com.mapyst.android.ui.CenteredToastFactory.java
com.mapyst.android.ui.CompassOverlay.java
com.mapyst.android.ui.DirectionIcon.java
com.mapyst.android.ui.DirectionsListAdapter.java
com.mapyst.android.ui.DirectionsListItem.java
com.mapyst.android.ui.DrawingHelpers.java
com.mapyst.android.ui.Icon.java
com.mapyst.android.ui.LocationsAdapter.java
com.mapyst.android.ui.LocationsListView.java
com.mapyst.android.ui.RouteMapOverlay.java
com.mapyst.android.ui.SlidingScrollView.java
com.mapyst.android.ui.map.AnimatedMapZoomer.java
com.mapyst.android.ui.map.LocationBalloon.java
com.mapyst.android.ui.map.LocationChooserOverlay.java
com.mapyst.android.ui.map.MapUtils.java
com.mapyst.android.ui.map.MapViewLimiter.java
com.mapyst.android.ui.map.MapViewMover.java
com.mapyst.android.ui.map.OnMapTouchLimiterListener.java
com.mapyst.android.ui.map.PriorityMapView.java
com.mapyst.android.ui.map.ViewItemOverlay.java
com.mapyst.campus.Building.java
com.mapyst.campus.Campus.java
com.mapyst.campus.Floor.java
com.mapyst.campus.ListOfCampuses.java
com.mapyst.campus.Location_Type.java
com.mapyst.campus.Location.java
com.mapyst.route.Arc.java
com.mapyst.route.DataParser.java
com.mapyst.route.Direction.java
com.mapyst.route.DistanceCalculator.java
com.mapyst.route.GraphNode.java
com.mapyst.route.InterpretResult.java
com.mapyst.route.InterpretedInfo.java
com.mapyst.route.Interpreter.java
com.mapyst.route.LatLngPoint.java
com.mapyst.route.Prioritizable.java
com.mapyst.route.PriorityQ.java
com.mapyst.route.RouteFinder.java
com.mapyst.route.RoutePreferences.java
com.mapyst.route.Route.java
com.mapyst.route.ShortestPath.java
com.mapyst.route.Waypoint2D.java
com.mapyst.route.WaypointID.java
com.markupartist.android.widget.ActionBar.java
com.markupartist.android.widget.ScrollingTextView.java