绘制线和面
画线功能
为什么要在地图上画线?因为要把在地图上打点的标识连接起来,用以表明那些标识点是相关的一类标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点之间画线。
(完整代码详见相关资源下载中示例工程的 OverlayLineActivity.java)
// 线
PolylineOverlay pl1 = new PolylineOverlay(new Point[] {
new Point(11638048, 3996816),
new Point(11640672, 3997696)
}, false); // 绘制线,并将传入点顺序连接
pl1.setColor(0xffaa0000); // 为线设置颜色
pl1.setStrokeStyle(Overlay.StrokeStyle.solid); // 设置线型
pl1.setWidth(5.0f); // 设置线宽
mRenderer.addOverlay(pl1); // 在地图上绘制一条线
画圆功能
为什么要在地图上画圈?因为要侧重的标识在地图上打点的标识点,用以凸显出你需要特别标识的标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点上画圆。
(完整代码详见相关资源下载中示例工程的 OverlaySurfaceActivity.java)
// 圆
CircleOverlay circle2 = new CircleOverlay(new Point(11639580, 3997676), 400f); // 创建一个圆,半径为400单位
circle2.setColor(Color.BLUE); // 颜色
circle2.setLayer(1); // 显示层次
mRenderer.addOverlay(circle2); // 在地图上创建一个圆形
画面功能
为什么要在地图上画面?因为要侧重的标识在地图上的一片区域,用以凸显出你需要特别标识的区域。 实现方法:得到一个画笔,得到相关的位置标识点,然后将相关的位置标识点上闭合连线,并为此片区域着色后绘制成面。
(完整代码详见相关资源下载中示例工程的 OverlaySurfaceActivity.java)
// 面
PolylineOverlay pl2 = new PolylineOverlay(new Point[] {
new Point(11638832, 3999840),
new Point(11637952, 3999104),
new Point(11639376, 3998576)
}, true); // 绘制面,将传入点顺序连接,并且闭合起终点
pl2.setColor(0xffaa0000); // 为面设置颜色
pl2.setStrokeStyle(Overlay.StrokeStyle.l63); // 设置线型
pl2.setWidth(10.0f); // 设置线宽
mRenderer.addOverlay(pl2); // 在地图上创建面
画多边形功能
为什么要在地图上画多边形?因为要把在地图上打点的标识连接起来,并设置为相应颜色,用以表明这些相关点标识出的一片区域。 实现方法:得到一个画笔,得到相关区域的一组位置标识点,然后将相关位置标识点之间连线,形成一个闭合区域。
(完整代码详见相关资源下载中示例工程的 OverlaySurfaceActivity.java)
// 多边形 透明
Point[] points = new Point[] {
new Point(11639600, 3998500),
new Point(11639620, 3998500),
new Point(11639640, 3998600),
new Point(11639660, 3998500),
new Point(11639680, 3998600),
new Point(11639700, 3998500),
new Point(11639720, 3998500),
new Point(11639680, 3998650),
new Point(11639640, 3998650)
};
PolygonOverlay polygonOverlay = new PolygonOverlay(points); // 创建用多点points组成的多边形
polygonOverlay.setColor(0xaaffff00); // 为多边形设置颜色
mRenderer.addOverlay(polygonOverlay); // 在地图上绘制多边形
地图上透明多边形的展示效果:
