您现在的位置:

绘制线和面

画线功能

为什么要在地图上画线?因为要把在地图上打点的标识连接起来,用以表明那些标识点是相关的一类标识点。 实现方法:得到一个画笔,得到相关的位置标识点,然后在相关的位置标识点之间画线。

                (完整代码详见 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]; 
            

地图上透明多边形的展示效果:

地图上透明多边形的展示效果
返回顶部