绘制线和面
画线功能
为什么要在地图上画线?因为要把在地图上打点的标识连接起来,用以表明那些标识点是相关的一类标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点之间画线。
(完整代码详见相关资源下载中示例工程的 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); // 在地图上绘制多边形
地图上透明多边形的展示效果: