本页内容
测量距离
距离测量注释允许您的用户测量代表平面图中的对象(例如房屋、街道或墙壁)的两点之间的距离。选择此注释后,用户只需传入起点与终点,即可取得两点间的距离。
距离测量有两类:线段测量注释与折线测量注释。线段测量注释可以测量起始和结束两点间的距离,折线测量注释会测量折线绘制过程中所有相邻两点间的距离,并计算总长度。
以下是创建折线距离测量注释的示例代码:
swift
// 获取需要创建便签的页面对象
if let page = document?.page(at: 0) {
// 创建线段注释
var anotation = CPDFPolylineAnnotation(document: document)
// 设置折线的的顶点
var pointsArray: [NSValue] = []
let point1 = CGPoint(x: 100, y: 100)
pointsArray.append(NSValue(cgPoint: point1))
let point2 = CGPoint(x: 100, y: 200)
pointsArray.append(NSValue(cgPoint: point2))
let point3 = CGPoint(x: 200, y: 200)
pointsArray.append(NSValue(cgPoint: point3))
anotation?.setSavePoints(pointsArray)
// 设置测量属性
var measureInfo = CPDFPerimeterMeasureInfo()
//设置MeasureInfo:相关信息需要在将其加在页面后才会有效
anotation.measureInfo = measureInfo;
// 更新注释外观使其显示在文档上
page.addAnnotation(anotation!)
}
objective-c
// 获取需要创建便签的页面对象
CPDFPage *page = [document pageAtIndex:0];
// 创建折线注释
CPDFPolylineAnnotation *anotation = [[CPDFPolylineAnnotation alloc] initWithDocument:document];
// 设置折线的的顶点
NSMutableArray<NSValue *> *pointsArray = [NSMutableArray array];
CGPoint point1 = CGPointMake(100, 100);
[pointsArray addObject:[NSValue valueWithCGPoint:point1]];
CGPoint point2 = CGPointMake(100, 200);
[pointsArray addObject:[NSValue valueWithCGPoint:point2]];
CGPoint point3 = CGPointMake(200, 200);
[pointsArray addObject:[NSValue valueWithCGPoint:point3]];
[anotation setSavePoints:savePoints];
// 设置测量属性
CPDFPerimeterMeasureInfo *measureInfo = [[CPDFPerimeterMeasureInfo alloc] init];
//设置MeasureInfo:相关信息需要在将其加在页面后才会有效
[anotation setMeasureInfo:measureInfo];
// 更新注释外观使其显示在文档上
[page addAnnotation:anotation];