arcgis的api是"esri/geometry/geometryEngine"
测距:
geodesicLength()
(WGS84 (wkid: 4326) or Web Mercator坐标系)
planarLength()
(其他坐标系)
测面:
geodesicArea()
(WGS84 (wkid: 4326) or Web Mercator坐标系)
planarArea()
(其他坐标系)
因为我发布的地图是其他的坐标系,所以用的是planarLength
和planarArea
在绘制的基础上
计算距离:geometryEngine.planarLength(inputPolyline.geometry, "meters")
计算面积:geometryEngine.planarArea(inputPolygon.geometry, "square-meters")
//测距
var inputPolyline = new Graphic({
geometry: line,
symbol: lineSymbol
});
graphicsLayer.add(inputPolyline);
var dis= geometryEngine.planarLength(inputPolyline.geometry, "meters")
dis = dis.toFixed(3);
//测面
var inputPolygon = new Graphic({
geometry: line,
symbol: lineSymbol
});
graphicsLayer.add(inputPolygon);
//因为arcgis默认是顺时针的路径,逆时针画多边形会出现负值,所以Math.abs()转为正值
var dis= Math.abs(geometryEngine.planarArea(inputPolygon.geometry, "square-meters"));
dis = dis.toFixed(3);