我在 Openlayers 的地图上画了一个圆圈,我想以英里为单位计算一个圆圈的半径并显示它。我该怎么做呢?
问问题
1245 次
3 回答
1
您可以使用以下代码解决此问题:
//vectorLayer.features[0] --> Your circle feature
var central = vectorLayer.features[0].geometry.getCentroid();
var point1 = new OpenLayers.Geometry.Point(central.x, central.y);
var circlePoint = vectorLayer.features[0].geometry.components[0].components[1];
var point2 = new OpenLayers.Geometry.Point(circlePoint.x, circlePoint.y);
var length = point1.distanceTo(point2);
console.log(length * 0.0006213712)
我希望它可以帮助你...
于 2013-02-11T15:29:20.233 回答
1
这就是我最终如何做到的。
var measure = event.measure;
var areaSquareMiles = measure * 0.386102;
var radius = 0.565352 * Math.sqrt(areaSquareMiles);
于 2013-02-27T18:25:27.327 回答
0
不确定我是否明白你的问题,但如果你有直径,它应该不会太难:
radius=diameter/2
如果你只有圆的点并且想要找出半径,你可以通过计算点之间的最大距离来估计直径。根据所需的精度(插值),有不同的解决方案。希望这可以帮助。
于 2013-02-11T12:12:43.397 回答