openlayers绘制圆形的几种方式
作者:互联网
情况说明:1、底图坐标系为EPSG:4326;2、根据给定的中心点坐标和半径绘制圆形;
方式一:利用ol api 把半径米单位转换为EPSG:4326坐标系上的单位,代码如下:
//绘制圆形缓冲区 var metersPerUnit = map.getView().getProjection().getMetersPerUnit(); var circleRadius = radius / metersPerUnit; var circle = new ol.geom.Circle(center, circleRadius); var polygon = new ol.geom.Polygon.fromCircle(circle);//转换为polygon,用于空间查询 var circleFeature = new ol.Feature({ geometry: polygon, }); 效果图:

方式三:利用开源turf.js 进行绘制,代码如下:
var options = { units: "meters" }; var circle = turf.circle(center, radius, options); var circleFeature = new ol.format.GeoJSON().readFeature(circle);
标签:ol,polygon,EPSG,圆形,openlayers,var,new,circle,绘制 来源: https://www.cnblogs.com/gislover/p/14056128.html