使用node.js在ol3中绘制功能

哈尔786

尝试在选项卡1上绘制特征后发出几何图形。然后尝试使用socket.on重画功能以显示在选项卡2上。但是由于某些原因,未绘制特征。

window.onload = function init() {
  var source = new ol.source.Vector({ wrapX: false });
  //create a base vector layer to draw on
  var vector = new ol.layer.Vector({
      source: source,
  });

  var raster = new ol.layer.Tile({
      source: new ol.source.OSM()
  });

  //create map
  map = new ol.Map({
    layers: [raster, vector],
    target: 'map',
    controls: ol.control.defaults({
        attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
            collapsible: false
        })
    }),
    view: new ol.View({
        center: [0,0],
        zoom: 10
    })
  });

  function drawShape(value) {

      var value = value;
      if (value !== 'None') {
          draw = new ol.interaction.Draw({
              source: source,
              type: /** @type {ol.geom.GeometryType} */ (value)
          });
          map.addInteraction(draw);

          draw.on('drawend', function (event) {

            // Get the array of features
            var feature = event.feature

            try {
                map.removeInteraction(draw);
                socket.emit('new polygon', feature.getGeometry().getCoordinates());
                socket.emit('chat message', feature.getGeometry().getCoordinates());
            } catch (err) { }
          });
      }
  }

  var socket = io();
  socket.on('new polygon', function (msg) {

      var thing = new ol.geom.Polygon(msg);

      var featurething = new ol.Feature({
          name: "Thing",
          geometry: thing
      });

      source.addFeature(featurething);

  });
}

运行脚本时,味精包含一个坐标数组。控制台中没有任何内容。

味精值

我是node.js的初学者。有人知道我在做什么错

hr

发现错误。在您的socket.on回叫中,您正在呼叫

source.addFeatures(featurething);

什么时候应该

source.addFeature(featurething); // single feature, no s

或者

source.addFeatures([featurething]); // put it in an array

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对在ol3中使用向量投影感到困惑

来自分类Dev

如何在OL3中使用SLD设置图层样式

来自分类Dev

ol3中单个功能的多个图标

来自分类Dev

ol3 / OpenLayers 3:如何对ol.format.KML()使用readNetworkLinks方法?

来自分类Dev

拖动功能POLYGON OL3

来自分类Dev

使用Node JS导出功能

来自分类Dev

强制在OL3中渲染ImageCanvas图层?

来自分类Dev

如何在OL3中获取图层或源的类型?

来自分类Dev

在OL3中保存多个点的坐标

来自分类Dev

强制在OL3中渲染ImageCanvas图层?

来自分类Dev

在Node.js中使用导出的功能

来自分类Dev

使用d3 js在phant中绘制json数据

来自分类Dev

使用d3js根据用户选择调用备用图表绘制功能

来自分类Dev

使用给定功能绘制3色图形

来自分类Dev

使用Node js和D3实时在地图上绘制状态名称

来自分类Dev

如何使用Node JS使用参数执行Powershell脚本功能?

来自分类Dev

使用node-nan在node.js模块中的SetWindowsHookEx

来自分类Dev

安装和使用Node JS

来自分类Dev

安装和使用Node JS

来自分类Dev

使用Node.js登录

来自分类Dev

使用章鱼部署Node js

来自分类Dev

Node js 端口已被使用

来自分类Dev

OL3在手机或平板电脑上绘制徒手绘制的多边形或线串

来自分类Dev

OL3在手机或平板电脑上绘制徒手绘制的多边形或线串

来自分类Dev

使用MySQL在Node JS中嵌套查询

来自分类Dev

使用Node JS在MongoDb中聚合查询

来自分类Dev

使用PUT在Node.js中删除

来自分类Dev

转换 OL3 几何 EPSG

来自分类Dev

为什么要使用同步功能node.js