用户可根据坐标点集绘制折线。注:线是针对整个地图的,线段的点可以是不同楼层的点。示例代码如下:
• 创建线段所需的坐标点数组。
// 地图上的点数组
NSArray *pointArray = @[
[NSValue valueWithFMKMapPoint:FMKMapPointMake(12961602, 4861851.44, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(12961625, 4861851.44, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(12961625, 4861825.00, 0)]
];
• 创建线并添加至地图。
// 初始化线标注
FMKLineMarker *lineMarker = [[FMKLineMarker alloc] init];
// 根据点数组创建地图线段
FMKSegment *segment = [[FMKSegment alloc] initWithGroupID:@"1" pointArray:pointArray];
// 添加构造线所用的线段标注
[lineMarker addSegment:segment];
// 添加线标注到线标注层
// 线标注层 _mapView.map.lineLayer (直接获取 ,不支持创建)
[_mapView.map.lineLayer addMarker:lineMarker];
Fengmap iOS SDK 支持绘制多边形操作。用户可根据坐标点集绘制多边形,注:多边形是针对楼层的,每一楼层可包含多个多边形。绘制多边形步骤如下:
• 创建多边形所需的坐标点数组。
// 地图上的点数组
NSArray *pointArray = @[
[NSValue valueWithFMKMapPoint:FMKMapPointMake(1.2961583E7, 4861865.0, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(1.2961644E7, 4861874.0, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(1.2961680E7, 4861854.0, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(1.2961637E7, 4861819.0, 0)],
[NSValue valueWithFMKMapPoint:FMKMapPointMake(1.2961590E7, 4861835.0, 0)]
];
• 创建面标注层并添加到地图节点上。
// 初始化面标注层,通过楼层id初始化
FMKPolygonLayer *polygonLayer = [[FMKPolygonLayer alloc] initWithGroupID:@"1"];
// 将面标注层添加到地图上
[_mapView.map addLayer:polygonLayer];
• 创建多边形并添加到面标注层上。
// 初始化多边形标注
FMKPolygonMarker *polygonMarker = [[FMKPolygonMarker alloc] initWithColor:
[UIColor orangeColor] withCoord:pointArray];
// 设置多边形标注物偏移模式
polygonMarker.offsetMode = FMKPolygonMarker_MODELTOP;
// 设置覆盖面标注物的透明度
polygonMarker.alpha = 0.5;
// 设置边框线宽
polygonMarker.lineWidth = 1.0f;
polygonMarker.lineColor = [UIColor orangeColor];
// 添加多边形标注物到面标注层
[polygonLayer addMarker: polygonMarker];
Fengmap iOS SDK 支持绘制矩形操作。用户可根据中心点坐标和宽高绘制矩形,注:矩形是针对楼层的,每一楼层可包含多个矩形。绘制矩形步骤如下:
• 创建面标注层并添加到地图节点上。
// 初始化面标注层,通过楼层id初始化
FMKPolygonLayer *polygonLayer = [[FMKPolygonLayer alloc] initWithGroupID:@"1"];
// 将面标注层添加到地图上
[_mapView.map addLayer:polygonLayer];
• 创建矩形并添加到面标注层上。
// 初始化多边形标注 - 矩形
FMKPolygonMarker *rectMarker = [[FMKPolygonMarker alloc] initWithColor:
[UIColor purpleColor] width:30 height:30 centerPosition:FMKMapPointMake(1.2961583E7, 4861865.0, 0)];
// 设置多边形标注物偏移模式
rectMarker.offsetMode = FMKPolygonMarker_MODELTOP;
// 设置覆盖面标注物的透明度
rectMarker.alpha = 0.5;
// 设置边框线宽
rectMarker.lineWidth = 1.0f;
rectMarker.lineColor = [UIColor purpleColor];
// 添加多边形标注物到面标注层
[polygonLayer addMarker: rectMarker];
Fengmap iOS SDK 支持绘制圆形操作。用户可根据中心点坐标和半径绘制圆形,注:圆形是针对楼层的,每一楼层可包含多个圆形。绘制圆形步骤如下:
• 创建面标注层并添加到地图节点上。
// 初始化面标注层,通过楼层id初始化
FMKPolygonLayer *polygonLayer = [[FMKPolygonLayer alloc] initWithGroupID:@"1"];
// 将面标注层添加到地图上
[_mapView.map addLayer:polygonLayer];
• 创建圆形并添加到面标注层上。
// 初始化多边形标注 - 圆形
FMKPolygonMarker *circleMarker = [[FMKPolygonMarker alloc] initWithColor:[UIColor cyanColor] radius:30
centerPosition:FMKMapPointMake(1.2961644E7, 4861874.0, 0) segments:40];
// 设置多边形标注物偏移模式
circleMarker.offsetMode = FMKPolygonMarker_MODELTOP;
// 设置覆盖面标注物的透明度
circleMarker.alpha = 0.3;
// 设置边框线宽
circleMarker.lineWidth = 3.0f;
circleMarker.lineColor = [UIColor cyanColor];
// 添加多边形标注物到面标注层
[polygonLayer addMarker: circleMarker];