【问题原因】leaflet的圆对象不是我们常规意义上理解的圆面,他是一个参数化点对象+半径的结构,并不是节点结构的面对象本质是点,因此不能作为这种分析参数来使用。
【解决办法】建议使用普通的多边形对象,来构造“圆”的面,如
var radius = 2;
//点集
var parts = [];
//计算圆的边缘所有点
for (var i = 0; i < 360; i++) {
var radians = (i + 1) * Math.PI / 180;
var circlePoint = [Math.cos(radians) * radius + 34, Math.sin(radians) * radius + 108];
parts[i] = circlePoint;
var polygon1 = L.polygon(parts, {
color: 'green'
});
或者使用其他便于数据形式的构造方式。