Utils
二维数据的量测方法集合。
用法
let Utils = mapmost.Utils;
方法
area(data)
计算一连串坐标构成闭合面数据的面积,输入数据为经纬度坐标和地方2000坐标的三维数组,返回值单位为平方米。
Utils.area([[[120, 31],[122, 31],[122, 30],[120, 30],[120, 31],[122, 31]]])
// 或
Utils.area([[[342171, 665836],[342188, 665836],[342188, 665810],[342171, 665810],[342171, 665836]]])
centerOfMass(data)
计算几何图形的几何中心,输入数据为经纬度坐标和地方2000坐标的三维数组,返回二维坐标。
Utils.centerOfMass([[[120, 31],[122, 31],[122, 30],[120, 30],[120, 31],[122, 31]]])
// 或
Utils.centerOfMass([[[342171, 665836],[342188, 665836],[342188, 665810],[342171, 665810],[342171, 665836]]])
distance(data)
计算一连串坐标数据的长度,输入数据为经纬度坐标和地方2000坐标的二维数组,返回值单位为米。
Utils.distance([[120, 31],[122, 32]])
// 或
Utils.distance([[342171, 665836],[342188, 665836],[342188, 665810]])
案例
let Utils = mapmost.Utils;
let center = Utils.centerOfMass(coordinates); // 计算几何图形的几何中心
let area = Utils.area(coordinates)
let area1 = Math.round(area * 100) / 100;
// 自定义 popup
let div = window.document.createElement('div');
div.innerHTML = area1 + ' m²';
let popup = new mapmost.Popup({closeOnClick: false, className: 'popup'})
.setLngLat(center.geometry.coordinates)
.setDOMContent(div)
.addTo(map);
allPopups.push(popup);
参考 示例。