将区域限制为距中心点10公里-OpenLayers地图

我正在使用OpenLayers库在地图上显示某些特定点。我只想显示距中心点10公里的区域。有人可以帮我这样做吗?

这是我的代码段。

 var map = new Map({
      layers: [
        new TileLayer({
          source: new OSM()
        }),vectorLayer
      ],target: 'map',view: new View({
        center: transform([19.83752162,52.09696925],'EPSG:4326','EPSG:3857'),zoom: 12,})
    });
e5557c 回答:将区域限制为距中心点10公里-OpenLayers地图

要实现此目的,您必须在地图初始化之前进行一些预处理。

1-从中心坐标开始制作特征。

let pointFeature = new ol.Feature(
    new ol.geom.Point(transform([19.83752162,52.09696925],'EPSG:4326','EPSG:3857'))
);

2-获取以上创建的功能的范围。

let poitnExtent = pointFeature.getGeometry().getExtent();

3-将范围缓冲到所需的半径。

let bufferedExtent = new ol.extent.buffer(poitnExtent,raduis goes here (In meters));

4-使用此缓冲范围来初始化地图。

var map = new Map({
  layers: [
    new TileLayer({
      source: new OSM()
    }),vectorLayer
  ],target: 'map',view: new View({
    center: transform([19.83752162,'EPSG:3857'),extent: bufferedExtent,zoom: 12,})
});
本文链接:https://www.f2er.com/3054551.html

大家都在问