粗略计算多边形中心点(并不是很准确,但简单好用)

2019-11-29 13:54:07

也是再做栅栏系统,搜索如何获取多边形中心点的问题上,发现了这个,简单易于理解,但是并不是特变准确,但也不影响使用。

后来发现了新的算法,并且百度地图也提供相应的api。

具体内容我写在了前面的文章,大家可以找一下。

path : 为多边形点的坐标(位置)

 

function getCenterPoint(path) {

//var path =e.;

//Array<Point> 返回多边型的点数组

//var ret=parseFloat(num1)+parseFloat(num2);

  var x = 0.0;

  var y = 0.0;

  for (var i = 0; i < path.length; i++) {

    x = x + parseFloat(path[i].lng);

    y = y + parseFloat(path[i].lat);

  }

  x = x / path.length;

  y = y / path.length;

//return new BMap.Point(path[0].lng,path[0].lat);

  return new BMap.Point(x, y);

//return path[0];

}


  • 2019-12-30 16:48:41

    vue provide/inject详解和用法

    父子组件交互方式多种,props、vuex、 、 emit、localStorage还有就是这个provide/inject了。它适合层级比较深的组件,比如子,子孙,子孙后代的组件有好几个用到父组件的某个属性,就可以用到这个provide/inject,它可以避免写大量繁琐的传值代码 我这里为什么要使用它? 我一个知识库详情父组件中包含了大量的子组件,每个子组件都需要父组件的知识库ID,这时候我不想写大量props,就用到provide/inject进行传值了

  • 2020-01-03 00:36:00

    break和continue详解for循环

    1. break:直接跳出当前循环体(while、for、do while)或程序块(switch)。其中switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断(可参考switch的介绍)。 2. continue:不再执行循环体中continue语句之后的代码,直接进行下一次循环。