package edu.illinois.geoalarm; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Point; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.Projection; /** * This class implements Android Overlay to allow display of travel paths * on the map * @author GeoAlarm * */ public class DirectionPathOverlay extends Overlay { private GeoPoint startPoint; private GeoPoint endPoint; /** * Constructs a new DirectionPathOverlay, with the specified points * @param startPoint - The start point of the path to be drawn * @param endPoint - The end point of the path to be drawn */ public DirectionPathOverlay(GeoPoint startPoint, GeoPoint endPoint) { this.startPoint = startPoint; this.endPoint = endPoint; } @Override public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) { Projection projection = mapView.getProjection(); if (shadow == false) { Paint paint = new Paint(); paint.setAntiAlias(true); Point point = new Point(); projection.toPixels(startPoint, point); paint.setColor(Color.BLUE); Point point2 = new Point(); projection.toPixels(endPoint, point2); paint.setStrokeWidth(10); paint.setAlpha(120); canvas.drawLine((float) point.x, (float) point.y, (float) point2.x, (float) point2.y, paint); } return super.draw(canvas, mapView, shadow, when); } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); } }