绘制线和面
画线功能
为什么要在地图上画线?因为要把在地图上打点的标识连接起来,用以表明那些标识点是相关的一类标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点之间画线。
(完整代码详见 SDKDemo 工程的 MBOverlayerController.m)
// 线
// 模拟点
MBPoint polyline1 = {11617606,3971098};
MBPoint polyline2 = {11660287,3971098};
MBPoint polylineP[2];
polylineP[0] = polyline1;
polylineP[1] = polyline2;
// 创建MBPolylineOverlay
MBPolylineOverlay *polylineLayer = [[MBPolylineOverlay alloc]initWithPoints:polylineP count:2 isClosed:NO];
// 设置宽度
[polylineLayer setWidth:20.0];
// 设置线条类型
[polylineLayer setStrokeStyle:MBStrokeStyle_11];
// 将MBPolylineOverlay添加到MBMapView
[mapView addOverlay:polylineLayer];
画线功能展示效果:
画圆功能
为什么要在地图上画圈?因为要侧重的标识在地图上打点的标识点,用以凸显出你需要特别标识的标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点上画圆。
(完整代码详见 SDKDemo 工程的 MBOverlayerController.m)
// 圆
// 模拟点
MBPoint center = {11617606,3971098};
// 创建MBCircleOverlay,绘制一个以模拟点为圆心,半径为1500的实心圆
MBCircleOverlay *circleAreaOnly = [[MBCircleOverlay alloc]initWithCenter:center radius:1500.0];
// 设置style
circleAreaOnly.style = MBCircleStyle_areaOnly;
// 将MBCircleOverlay添加到MBMapView
[mapView addOverlay:circleAreaOnly];
画圆功能展示效果:
画折线功能
为什么要在地图上画面?因为要侧重的标识在地图上的一片区域,用以凸显出你需要特别标识的区域。 实现方法:得到一个画笔,得到相关的位置标识点,然后将相关的位置标识点上闭合连线,并为此片区域着色后绘制成面。
(完整代码详见 SDKDemo 工程的 MBOverlayerController.m)
// 模拟四个点
MBPoint point1 = {11637852,3986459};
MBPoint point2 = {11632209,3989693};
MBPoint point3 = {11631032,3999105};
MBPoint point4 = {11655760,3991267};
MBPoint polylineP[4];
polylineP[0] = point1;
polylineP[1] = point2;
polylineP[2] = point3;
polylineP[3] = point4;
// 创建MBPolylineOverlay,传入四个点,由这四个点绘制折线
MBPolylineOverlay *polylineLayer = [[MBPolylineOverlay alloc]initWithPoints:polylineP count:4 isClosed:NO];
// 设置线宽
[polylineLayer setWidth:20.0];
// 设置线条类型
[polylineLayer setStrokeStyle:strokeStyleIndex];
// 将MBPolylineOverlay添加到MBMapView
[mapView addOverlay:polylineLayer];
画折线功能展示效果:
画多边形功能
为什么要在地图上画多边形?因为要把在地图上打点的标识连接起来,并设置为相应颜色,用以表明这些相关点标识出的一片区域。 实现方法:得到一个画笔,得到相关区域的一组位置标识点,然后将相关位置标识点之间连线,形成一个闭合区域。
完整代码详见 SDKDemo工程的 MBOverlayerController.m)
// 模拟点
MBPoint point1 = {11637852,3986459};
MBPoint point2 = {11632209,3989693};
MBPoint point3 = {11631032,3999105};
MBPoint point4 = {11655760,3991267};
MBPoint polygonP[4];
polygonP[0] = point1;
polygonP[1] = point2;
polygonP[2] = point3;
polygonP[3] = point4;
// 创建MBPolygonOverlay,传入四个点,由这四个点绘制多边形
MBPolygonOverlay *polygon = [[MBPolygonOverlay alloc]initWithPoints:polygonP count:4];
// 将MBPolygonOverlay添加到MBMapView
[mapView addOverlay:polygon];
地图上透明多边形的展示效果:
