七章 -87-绘制几何图形

2020-03-27  本文已影响0人  彩云飘过

本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers 5.3.x api。

源码 见 1087.html ,对应的 官网示例 https://openlayers.org/en/latest/examples/render-geometry.html

image.png
核心技术点:

ol.render.toContext
drawGeometry

<!DOCTYPE html>
<html>

<head>
  <title>绘制几何图形</title>
  <link rel="stylesheet" href="../include/ol.css" type="text/css" />
  <script src="../include/ol.js"></script>
</head>
<style></style>

<body>
  <canvas id="canvas"></canvas>
 
  <script>
    var canvas = document.getElementById('canvas');
    var vectorContext = ol.render.toContext(canvas.getContext('2d'), { size: [100, 100] });

    var fill = new ol.style.Fill({ color: 'blue' });
    var stroke = new ol.style.Stroke({ color: 'black' });
    var style = new ol.style.Style({
      fill: fill,
      stroke: stroke,
      image: new ol.style.Circle({
        radius: 10,
        fill: fill,
        stroke: stroke
      })
    });
    vectorContext.setStyle(style);//先设置绘制使用的样式,之后在绘制

    vectorContext.drawGeometry(new ol.geom.LineString([[10, 10], [90, 90]]));
    vectorContext.drawGeometry(new ol.geom.Polygon([[[2, 2], [98, 2], [2, 98], [2, 2]]]));
    vectorContext.drawGeometry(new ol.geom.Point([88, 88]));
  </script>
</body>

</html>
上一篇 下一篇

猜你喜欢

热点阅读