跳到主要内容
版本:9.4.1

工具(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 + '&nbspm²';
let popup = new mapmost.Popup({closeOnClick: false, className: 'popup'})
.setLngLat(center.geometry.coordinates)
.setDOMContent(div)
.addTo(map);
allPopups.push(popup);

参考 示例