so im making a game for android and i need to overlay regions or polygons on a google maps window.
so far i have made the following:
class polygonOverlay extends Overlay {
//this is the array of vertices we need to draw
GeoPoint[] vet;
Point[] points;
private float[] fVet;
//get the vertices
public polygonOverlay(GeoPoint[] v) {
vet = v;
points = new Point[v.length];
fVet = new float[(v.length)*2];
}
//this is how we draw it.
@Override
public void draw(Canvas canvas, MapView mapv, boolean shadow) {
super.draw(canvas,mapv, shadow);
//do some things
//set all the points to a point.
for(int i = 0; i < points.length; i++) {
points[i] = new Point();
}
//convert from the array of geoPoints to the array of points using the projection.
for(int i = 0; i < vet.length; i++){
projection.toPixels(vet[i], points[i]);
}
//convert the point to the float array
for(int i = 0; i < points.length; i++) {
fVet[2*i] = points[i].x;
fVet[(2*i)+1] = points[i].y;
}
//things be done...
//create a array of int colors.
int[] colorArray = new int[points.length];
for(int i = 0; i < points.length; i++) {
colorArray[i] = Color.RED;
}
//if we are drawing a shadow, then dont draw anything
Paint mPaint = new Paint();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(4);
//lets draw some things.
canvas.drawLine(points[1].x, points[1].y, 200, 200, mPaint);
canvas.drawVertices(
Canvas.VertexMode.TRIANGLES,
fVet.length,
fVet,
0,
null,
0,
colorArray,
0,
null,
0,
0,
mPaint
);
}
}
the issue is however that it will not show the polygons. i have tryed everything and was up until 2am last night doing so but it just wont work.
i'm beginning to think that its my phone not my code...
can anyone see what i have done wrong?