在项目中绘制多边形或者对多边形的处理结果,经常存在多边形边界重合的问题,导致处理或者绘制结果在视觉上效果不是很好!该方法利用
Polygonoptimization = function (points, tolerence) {
var tolerence = tolerence || 0.003;
var map = this._map;
if (!points.length) {
return points;
}
if (points && points.length < 5) return points;
for (var i = 0; i < points.length; i++) {
points[i] = map.pointToPixel(points[i]);
}
var deletePointIndex = [];
var resultsPoint = [];
for (var j = 0; j < points.length - 3; j++) {
var A = points[j];
var B = points[j+1];
var C = points[j+2];
var Lab = Math.sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
var Lbc = Math.sqrt((C.x - B.x) * (C.x - B.x) + (C.y - B.y) * (C.y - B.y));
var rABC = (C.x - B.x)*(