一、继承Overlay
class Polygon extends Overlay
二、重写Overlay中的draw函数
1、投影转换
public Point ChangeProjection(GeoPoint geoPoint){
Projection projection = mv.getProjection();
Point screenPoint = new Point();
projection.toPixels(geoPoint, screenPoint);
return screenPoint;
}
2、设置画笔
Paint paint = new Paint();
(1)设置颜色
paint.setColor(Color.RED);
(2)设置笔形
paint.setSytle(Paint.Style.FILL); //设置实心
(3)设置画笔粗细
paint.setStrokeWidth(3);
3、设置路径
Path path = new Path();
path.moveTo(ChangeProjection(point1).x,ChangeProjection(point1).y);
path.lineTo(ChangeProjection(point2).x,ChangeProjection(point2).y);
path.lineTo(ChangeProjection(point3).x,ChangeProjection(point3).y);
path.close(); //闭合多边形
4、在画布上绘制图形
canvas.drawPath(path,paint);
三、在主Activity中实现Ploygon
Polygon shape = new Polygon();
mv.getOverlays.add(shape);
主要代码如下:
运行结果: