// Path: route_lib/src/com/mapyst/route/Direction.java
// public class Direction {
// 	private String text;
// 	private WaypointID start, end;
// 	private int startIcon, endIcon;
// 	private int type, time;
// 	private LatLngPoint[] points;
// 	
// 	//types of directions
// 	public static final int SAME_FLOOR = 0;
// 	public static final int STAIRS = 1;
// 	public static final int ELEVATOR = 2;
// 	public static final int RAMP = 3;
// 	
// 	public Direction() {
// 		startIcon = -1;
// 		endIcon = -1;
// 	}
// 	
// 	public Direction (String text, Waypoint2D start, Waypoint2D end, Route route, int type) {
// 		this.text = text;
// 		this.start = start.getId();
// 		this.end = end.getId();
// 		this.type = type;
// 		
// 		startIcon = -1;
// 		endIcon = -1;
// 		
// 		setPoints(route.getPoints(start, end));
// 		time = route.getTime(start, end);
// 	}
// 	
// 	public boolean isOutside(Campus campus) {
// 		return campus.buildingIsOutside(end.getBuildingIndex());
// 	}
// 	
// 	public int getBuilding() {
// 		return end.getBuildingIndex();
// 	}
// 	
// 	public int getFloor() {
// 		return end.getFloorIndex();
// 	}
// 	
// 	public String getText() {
// 		return text;
// 	}
// 	
// 	public WaypointID getStart() {
// 		return start;
// 	}
// 	
// 	public WaypointID getEnd() {
// 		return end;
// 	}
// 	
// 	public int getStartIcon() {
// 		return startIcon;
// 	}
// 	
// 	public int getEndIcon() {
// 		return endIcon;
// 	}
// 	
// 	public int getType() {
// 		return type;
// 	}
// 	
// 	public LatLngPoint[] getPoints() {
// 		return points;
// 	}
// 	
// 	public int getTime() {
// 		return time;
// 	}
// 	
// 	
// 	
// 	
// 	public void setText(String text) {
// 		this.text = text;
// 	}
// 	
// 	public void setStart(WaypointID start) {
// 		this.start = start;
// 	}
// 	
// 	public void setEnd(WaypointID end) {
// 		this.end = end;
// 	}
// 	
// 	public void setStartIcon(int startIcon) {
// 		this.startIcon = startIcon;
// 	}
// 	
// 	public void setEndIcon(int endIcon) {
// 		this.endIcon = endIcon;
// 	}
// 	
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	
// 	public void setPoints(LatLngPoint[] points) {
// 		this.points = points;
// 	}
// 	
// 	public void setTime(int time) {
// 		this.time = time;
// 	}
// 	
// 	public void addTime(int added) {
// 		time += added;
// 	}
// 	
// 	public String toString() {
// 		return ("text: " + text + ", start: " + start.toString() + ", end: " +
// 				end.toString() + ", startIcon: " + startIcon + ", endIcon: " + endIcon +
// 				", type: " + type);
// 	}
// }
// 
// Path: route_lib/src/com/mapyst/route/LatLngPoint.java
// public class LatLngPoint {
// 	//latitude can be thought of as y
// 	//longitude can be thought of as x
// 	public int lat, lng; //multiplied by a million
// 	
// 	public LatLngPoint() {
// 		lat = 0;
// 		lng = 0;
// 	}
// 	
// 	//note: use Google's GeoPoint convention lat then lng
// 	public LatLngPoint(int lat, int lng) {
// 		this.lng = lng;
// 		this.lat = lat;
// 	}
// 	
// 	public String toString() {
// 		return "lat: " + lat + ";   lng: " + lng;
// 	}
// 	
// 	public LatLngPoint copy() {
// 		return new LatLngPoint(this.lat, this.lng);
// 	}
// }


import android.graphics.Point;
import android.graphics.Rect;
import android.os.Handler;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.mapyst.route.Direction;
import com.mapyst.route.LatLngPoint;
/*
 * Copyright (C) 2013 Mapyst
 *
 * 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.map;



public class MapViewMover {

	public static void smoothFitToDirection(MapView mapView, Handler handler, double border, Direction direction) {
		float maxY = -Float.MAX_VALUE;
		float maxX = -Float.MAX_VALUE;
		float minY = Float.MAX_VALUE;
		float minX = Float.MAX_VALUE;
// Path: route_lib/src/com/mapyst/route/Direction.java
// public class Direction {
// 	private String text;
// 	private WaypointID start, end;
// 	private int startIcon, endIcon;
// 	private int type, time;
// 	private LatLngPoint[] points;
// 	
// 	//types of directions
// 	public static final int SAME_FLOOR = 0;
// 	public static final int STAIRS = 1;
// 	public static final int ELEVATOR = 2;
// 	public static final int RAMP = 3;
// 	
// 	public Direction() {
// 		startIcon = -1;
// 		endIcon = -1;
// 	}
// 	
// 	public Direction (String text, Waypoint2D start, Waypoint2D end, Route route, int type) {
// 		this.text = text;
// 		this.start = start.getId();
// 		this.end = end.getId();
// 		this.type = type;
// 		
// 		startIcon = -1;
// 		endIcon = -1;
// 		
// 		setPoints(route.getPoints(start, end));
// 		time = route.getTime(start, end);
// 	}
// 	
// 	public boolean isOutside(Campus campus) {
// 		return campus.buildingIsOutside(end.getBuildingIndex());
// 	}
// 	
// 	public int getBuilding() {
// 		return end.getBuildingIndex();
// 	}
// 	
// 	public int getFloor() {
// 		return end.getFloorIndex();
// 	}
// 	
// 	public String getText() {
// 		return text;
// 	}
// 	
// 	public WaypointID getStart() {
// 		return start;
// 	}
// 	
// 	public WaypointID getEnd() {
// 		return end;
// 	}
// 	
// 	public int getStartIcon() {
// 		return startIcon;
// 	}
// 	
// 	public int getEndIcon() {
// 		return endIcon;
// 	}
// 	
// 	public int getType() {
// 		return type;
// 	}
// 	
// 	public LatLngPoint[] getPoints() {
// 		return points;
// 	}
// 	
// 	public int getTime() {
// 		return time;
// 	}
// 	
// 	
// 	
// 	
// 	public void setText(String text) {
// 		this.text = text;
// 	}
// 	
// 	public void setStart(WaypointID start) {
// 		this.start = start;
// 	}
// 	
// 	public void setEnd(WaypointID end) {
// 		this.end = end;
// 	}
// 	
// 	public void setStartIcon(int startIcon) {
// 		this.startIcon = startIcon;
// 	}
// 	
// 	public void setEndIcon(int endIcon) {
// 		this.endIcon = endIcon;
// 	}
// 	
// 	public void setType(int type) {
// 		this.type = type;
// 	}
// 	
// 	public void setPoints(LatLngPoint[] points) {
// 		this.points = points;
// 	}
// 	
// 	public void setTime(int time) {
// 		this.time = time;
// 	}
// 	
// 	public void addTime(int added) {
// 		time += added;
// 	}
// 	
// 	public String toString() {
// 		return ("text: " + text + ", start: " + start.toString() + ", end: " +
// 				end.toString() + ", startIcon: " + startIcon + ", endIcon: " + endIcon +
// 				", type: " + type);
// 	}
// }
// 
// Path: route_lib/src/com/mapyst/route/LatLngPoint.java
// public class LatLngPoint {
// 	//latitude can be thought of as y
// 	//longitude can be thought of as x
// 	public int lat, lng; //multiplied by a million
// 	
// 	public LatLngPoint() {
// 		lat = 0;
// 		lng = 0;
// 	}
// 	
// 	//note: use Google's GeoPoint convention lat then lng
// 	public LatLngPoint(int lat, int lng) {
// 		this.lng = lng;
// 		this.lat = lat;
// 	}
// 	
// 	public String toString() {
// 		return "lat: " + lat + ";   lng: " + lng;
// 	}
// 	
// 	public LatLngPoint copy() {
// 		return new LatLngPoint(this.lat, this.lng);
// 	}
// }


// Path: android/Mapyst/src/com/mapyst/android/ui/map/MapViewMover.java
import android.graphics.Point;
import android.graphics.Rect;
import android.os.Handler;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.mapyst.route.Direction;
import com.mapyst.route.LatLngPoint;

/*
 * Copyright (C) 2013 Mapyst
 *
 * 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.map;



public class MapViewMover {

	public static void smoothFitToDirection(MapView mapView, Handler handler, double border, Direction direction) {
		float maxY = -Float.MAX_VALUE;
		float maxX = -Float.MAX_VALUE;
		float minY = Float.MAX_VALUE;
		float minX = Float.MAX_VALUE;
		LatLngPoint[] points = direction.getPoints();