MyOverLay.java :  » Calendar » dasaitama-calendar » jp » ac » keio » sfc » crew » dasaitama » map » Android Open Source

Android Open Source » Calendar » dasaitama calendar 
dasaitama calendar » jp » ac » keio » sfc » crew » dasaitama » map » MyOverLay.java
package jp.ac.keio.sfc.crew.dasaitama.map;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;

public class MyOverLay extends Overlay {
  private GeoPoint gp1;
  private GeoPoint gp2;
  private int mRadius=6;
  private int mode=0;
  private int defaultColor;
  private String text="";
  private Bitmap img = null;

  public MyOverLay(GeoPoint gp1,GeoPoint gp2,int mode) {
    // TODO Auto-generated constructor stub
    this.gp1 = gp1;
    this.gp2 = gp2;
    this.mode = mode;
    defaultColor = 999; // no defaultColor

  }

  public MyOverLay(GeoPoint gp1,GeoPoint gp2,int mode, int defaultColor) {
    // TODO Auto-generated constructor stub
    this.gp1 = gp1;
    this.gp2 = gp2;
    this.mode = mode;
    this.defaultColor = defaultColor;
  }
  
  public void setText(String t)
  {
  this.text = t;
  }
  public void setBitmap(Bitmap bitmap)
  {
  this.img = bitmap;
  }
  public int getMode()
  {
  return mode;
  }

  @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(gp1, point);
  // mode=1:start
  if(mode==1)
  {
  if(defaultColor==999)
  paint.setColor(Color.BLUE);
  else
  paint.setColor(defaultColor);
  RectF oval=new RectF(point.x - mRadius, point.y - mRadius,
  point.x + mRadius, point.y + mRadius);
  // start point
  canvas.drawOval(oval, paint);
  }
  // mode=2:path
  else if(mode==2)
  {
  if(defaultColor==999)
  paint.setColor(Color.RED);
  else
  paint.setColor(defaultColor);
  Point point2 = new Point();
  projection.toPixels(gp2, point2);
  paint.setStrokeWidth(4);
  paint.setAlpha(120);
  canvas.drawLine(point.x, point.y, point2.x,point2.y, paint);
  }
  /* mode=3:end */
  else if(mode==3)
  {
  /* the last path */

  if(defaultColor==999)
  paint.setColor(Color.BLUE);
  else
  paint.setColor(defaultColor);
  Point point2 = new Point();
  projection.toPixels(gp2, point2);
  paint.setStrokeWidth(4);
  paint.setAlpha(120);
  canvas.drawLine(point.x, point.y, point2.x,point2.y, paint);
  RectF oval=new RectF(point2.x - mRadius,point2.y - mRadius,
  point2.x + mRadius,point2.y + mRadius);
  /* end point */
  paint.setAlpha(255);
  canvas.drawOval(oval, paint);
  }
  }
  return super.draw(canvas, mapView, shadow, when);
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.