export function drawForPoint(pointList) {let plygonList = [...pointList, ...[pointList[0]]];//第一个点作为最后一个点加进数组形成环let feature = new Feature({geometry: new Polygon([plygonList]),});assistLayer.getSource(
使用Overlay在地图上添加弹窗,点击控制显隐。 初始化图层的时候,添加一个矢量的点数据到地图上,在new Feature时添加一些自定义属性。 const place = [-110, 45];const point = new Point(place);const map = new Map({target: "map",view: new View({center: place
The VectorTile layer 我们已经知道如何载入瓦片图片,并且能够用不同的方法载入渲染矢量地图。但是我们如何能够用传输到浏览器更快的瓦片的同时,能够样式化数据?这就是矢量瓦片的作用,openLayer通过vectorTile层来支持矢量瓦片。 A world map rendered from vector data 同样需要在index.html中定义基础的东西:
Making it look nice 前面已经完成了基础的功能,包括导入、编辑、导出。但是没有做一下美化,当你创建了一个矢量图层,会默认很多样式。编辑过程中的交互也是默认的样式,你可能注意到在编辑过程中线条很粗,这个可以通过向矢量图层和交互提供style来控制这些属性。 Static style 如果我们给所有要素集定义通用的样式,可以如下配置: const layer = ne
Downloading features 在上传和编辑数据之后,我们想要用户来下载我们的结果。我们需要将数据序列化为GeoJSON格式,并且创建 用于在浏览器中触发保存文件的downLoad属性。同时在地图上添加一个按钮,让用户可以清除已有要素重新开始。 首先,我们来添加按钮,把下面代码添加到index.html的map-container中: <div id="tools"><a i
Drawing new features 前面两篇文章我们已经实现了数据的加载和修改,下一步来实现draw交互,可以使用户画新的features并添加到数据源中。 首先第一步,还是在main.js中导入Draw包 import Draw from 'ol/interaction/Draw'; 其次,创建一个draw交互并添加到矢量数据源 map.addInteraction(ne
Modifying features 我们已经能够将数据载入,现在我们要去编辑这些features,利用Modify交互可以实现对矢量数据源的编辑 首先,在main.js中导入Modify交互 import Modify from 'ol/interaction/Modify'; 下一步,在矢量图层上创建一个新的交互,并添加到图层 map.addInteraction(new M
官网demo地址: Dynamic Data 初始化地图 const tileLayer = new TileLayer({source: new OSM(),});const map = new Map({layers: [tileLayer],target: "map",view: new View({center: [0, 0],zoom: 2,}),});