var bounds = this.getAreaBounds(manegeMetryObj);
// areainfo 为geometry对象
getAreaBounds(areainfo) {
var n = 90, s = -90, e = -180, w = 180;
let obj;
if (areainfo.type.toLowerCase() == “polygon”) {
var coordinates = areainfo.coordinates[0];
obj = this.calc(coordinates,n,s,e,w);
} else {
for (var i = 0; i < areainfo.coordinates.length; i++) {
var coordinates = areainfo.coordinates[i][0];
obj = this.calc(coordinates,n,s,e,w);
}
}
n = obj.n;
s = obj.s;
e = obj.e;
w = obj.w;
var arr = [[w, n], [e, s]];
return GeoGlobe.LngLatBounds.convert(arr);
},
//计算 coordinates
calc(coordinates,n,s,e,w) {
for (var i = coordinates.length - 1; i >= 0; i--) {
var c = coordinates[i];
var x = c[0];
var y = c[1];
if (x > e) e = x;
if (x < w) w = x;
if (y < n) n = y;
if (y > s) s = y;
let obj = {
n:n,
s:s,
e:e,
w:w
};
return obj;
}
},
//转换单位
toPX(value) {
value = parseFloat(value);
if (!isNaN(value)) {
return value * (document.documentElement.clientWidth / 100)
} else {
return 0;
}
}