繁体   English   中英

Openlayers 3 interact.draw()

[英]Openlayers 3 interaction.draw()

我正在尝试使用来自openlayers示例网站的示例代码创建一个用户互动圈子:

var draw = new ol.interaction.Draw({
    features: featureOverlay.getFeatures(),
    type: 'Circle'
});
map.addInteraction(draw);

设置时,总是会收到TypeError ,键入: Circle ,但是将类型设置为PointLineStringPolygon它就可以正常工作。 我查看了openlayers 3 API文档,发现Circle是有效的几何类型。 这里有没有人提供我为什么输入类型错误的任何信息?

将Circle添加到最新版本的ol3(3.4)中,现在的最新版本是3.5,我举了一个添加Circle的示例:

JS

https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.js

CSS

https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.min.css

画圆

var map = new ol.Map({
  target: 'map',
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({layer: 'osm'})
    })
  ],
  view: new ol.View({
    center: ol.proj.transform(
        [-110, 45], 'EPSG:4326', 'EPSG:3857'),
    zoom: 3
  })
});
var featureOverlay = new ol.FeatureOverlay({
  style: new ol.style.Style({
    fill: new ol.style.Fill({
      color: 'rgba(255, 255, 255, 0.2)'
    }),
    stroke: new ol.style.Stroke({
      color: '#ffcc33',
      width: 2
    }),
    image: new ol.style.Circle({
      radius: 7,
      fill: new ol.style.Fill({
        color: '#ffcc33'
      })
    })
  })
});

featureOverlay.setMap(map);


var draw = new ol.interaction.Draw({
    features: featureOverlay.getFeatures(),
    type: 'Circle'
});
map.addInteraction(draw);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM