十、ArcGIS Runtime SDK for iOS 100.X教程系列之量测

ArcGis官方文档里找了个遍,没有找到的量测功能demo,只有一个类似的:

https://developers.arcgis.com/ios/latest/swift/sample-code/distance-measurement-analysis/

至少从这个官方demo里知晓测量使用的类是:AGSGeometryEngine,它提供了全面的距离和面积的测算api,支持直接AGSGemetry传入进行计算,还有多种计量单位可供选择,主要涉及的方法有:

//测距,传入AGSGeometry对象,并指定计算结果的单位,以及计算类型
//一般计算类型选择AGSGeodeticCurveTypeGeodesic即可
+ (double)geodeticAreaOfGeometry:(AGSGeometry*)geometry areaUnit:(AGSAreaUnit*)areaUnit curveType:(AGSGeodeticCurveType)curveType;
//测面积,传入AGSGeometry对象,并指定计算结果的单位,以及计算类型
//一般计算类型选择AGSGeodeticCurveTypeGeodesic即可
+ (double)geodeticLengthOfGeometry:(AGSGeometry*)geometry lengthUnit:(AGSLinearUnit*)lengthUnit curveType:(AGSGeodeticCurveType)curveType

计算的方式有了,但是怎么让用户在地图上进行绘制交互呢?这其实就用到了上一篇博客中提及的标注草图功能,利用AGSSketchEditor开启绘制功能,并监听AGSSketchEditorGeometryDidChangeNotification通知,实时计算用户绘制形状的长度或者面积。

我做好的效果如下图:

猜你喜欢

转载自blog.csdn.net/qq_31672459/article/details/103198858