package com.appl.map;
import android.graphics.*;
import com.google.android.maps.Overlay;
import com.google.googlenav.Placemark;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.googlenav.Search;
import com.google.android.maps.Point;
public class MyOverlay extends Overlay
{
Point pointcentermall;
BrowseMap mMap;
Paint paint1 = new Paint();
Paint paint2 = new Paint();
Paint paint3 = new Paint();
Paint paint4 = new Paint();
Paint paint5 = new Paint();
Paint paint6 = new Paint();
//
Paint paintinfo =new Paint();
RectF r1= new RectF(5,395,315,430);
RectF r2= new RectF(5,8,315,400);
// info rect
RectF r3= new RectF(5,5,315,55);
Drawable image;
public MyOverlay(BrowseMap map, Context context)
{
mMap=map;
image=context.getResources().getDrawable(R.drawable.icon);
paint2.setARGB(255,255,0,255);
paint3.setARGB(100,100,100,100);
paint4.setARGB(255,255,0,0);
paint5.setARGB(255,0,0,255);
paint6.setARGB(255,0,255,0);
paintinfo.setARGB(255,104,102,0);
}
public void draw(Canvas canvas, PixelCalculator pixelCalculator, boolean b)
{
super.draw(canvas, pixelCalculator, b);
canvas.drawColor(100);
canvas.drawRect(r3, paintinfo);
// INFORMATION
canvas.drawText("LANDMARK ICON",120,18,paint4);
canvas.drawCircle(65,30, 5, paint1);
canvas.drawText("THEATRE ",75,32,paint1);
canvas.drawCircle(65,45, 5, paint4);
canvas.drawText("CAB",75,48,paint1);
canvas.drawCircle(162,30, 5, paint5);
canvas.drawText("MALL",175,32,paint1);
canvas.drawCircle(162,45, 5, paint6);
canvas.drawText("PARK",175,48,paint1);
canvas.drawRect(r2, paint3);
image.setBounds(5,8,50,53);
image.draw(canvas);
Search searchtheatre = mMap.getSearchtheatre();
if (searchtheatre != null)
{
for (int i = 0; i < searchtheatre.numPlacemarks(); i++)
{
Placemark placemarktheatre = searchtheatre.getPlacemark(i);
int[] screenCoordstheatre = new int[2];
Point pointtheatre = new Point(placemarktheatre.getLocation().getLatitude(),
placemarktheatre.getLocation().getLongitude());
pixelCalculator.getPointXY(pointtheatre, screenCoordstheatre);
canvas.drawCircle(screenCoordstheatre[0], screenCoordstheatre[1], 5, paint1);
} // End of For Loop
}
else
{
//canvas.drawText("NO THEATRE",225,25,paint1);
}
// SEARCHING AND DISPLAYING CAB
Search searchcab = mMap.getSearchcab();
if (searchcab != null)
{
for (int j = 0; j < searchcab.numPlacemarks(); j++)
{
Placemark placemarkcab = searchcab.getPlacemark(j);
int[] screencabCoords = new int[2];
Point pointcab = new Point(placemarkcab.getLocation().getLatitude(),
placemarkcab.getLocation().getLongitude());
pixelCalculator.getPointXY(pointcab, screencabCoords);
canvas.drawCircle(screencabCoords[0], screencabCoords[1], 5, paint4);
} // End of For Loop
}
else
{
//canvas.drawText("NO CAB",225,25,paint1);
}
// SEARCH FOR PARK
Search searchmall = mMap.getSearchmall();
if (searchmall != null)
{
for (int k = 0; k < searchmall.numPlacemarks(); k++)
{
Placemark placemarkmall = searchmall.getPlacemark(k);
int[] screenmallCoords = new int[2];
Point pointmall = new Point(placemarkmall.getLocation().getLatitude(),
placemarkmall.getLocation().getLongitude());
pixelCalculator.getPointXY(pointmall, screenmallCoords);
canvas.drawCircle(screenmallCoords[0], screenmallCoords[1], 5, paint5);
canvas.drawText(Integer.toString(k + 1),screenmallCoords[0] ,screenmallCoords[1] , paintinfo);
pointcentermall=pointmall;
} // End of For Loop
}
else
{
//canvas.drawText("NO mall",225,25,paint1);
}
Search searchpark = mMap.getSearchpark();
if (searchpark != null)
{
for (int k = 0; k < searchpark.numPlacemarks(); k++)
{
Placemark placemarkpark = searchpark.getPlacemark(k);
int[] screenparkCoords = new int[2];
Point pointpark = new Point(placemarkpark.getLocation().getLatitude(),
placemarkpark.getLocation().getLongitude());
pixelCalculator.getPointXY(pointpark, screenparkCoords);
canvas.drawCircle(screenparkCoords[0], screenparkCoords[1], 5, paint6);
} // End of For Loop
}
else
{
//canvas.drawText("no park",225,25,paint1);
}
canvas.drawRect(r1, paint2);
canvas.drawText("ANDROID DEVELOPER CHALLENGE I APPLICATION",20,420,paint5);
} // end of drawMethod
} // end of myOverLay