我试图在地图上绘制一些圆圈。我将圆圈创建为要素,然后将它们放在图层中。我遇到的问题是有一条线连接每个不同的功能。是什么导致功能连接?
// Generate some rings
var radius = [1000, 2000];
var features = [];
for(var i = 0; i < radius.length; i++)
{
features[i] = new ol.Feature( new ol.geom.Circle(center, radius[i] / ol.proj.METERS_PER_UNIT.m ) );
}
// Add features to new layer.
var layer = new ol.layer.Vector({
source: new ol.source.Vector({
features: features
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
width: 1,
color: [0, 0, 255, 1]
})
})
});
map.addLayer(layer);
编辑:以下是我收到的http://i.imgur.com/jV19gTJ.png
的屏幕截图答案 0 :(得分:0)
你的代码对我来说很好,虽然我必须定义一个初始中心,我放在[0,0]以匹配我为地图定义的视图。我还添加了一些ol.Map代码(你的Q中没有提供这个位,所以问题可能就在那里吗?)
我使用了这个HTML:
<div id="map" style="width: 100%; height: 500px"></div>
和这个JavaScript:
var center = [0, 0];
var radius = [1000, 2000, 3000, 4000];
var features = [];
for(var i = 0; i < radius.length; i++)
{
features[i] = new ol.Feature( new ol.geom.Circle(center, radius[i] / ol.proj.METERS_PER_UNIT.m ) );
}
// Add features to new layer.
var layer = new ol.layer.Vector({
source: new ol.source.Vector({
features: features
}),
style: new ol.style.Style({
stroke: new ol.style.Stroke({
width: 1,
color: [0, 0, 255, 1]
})
})
});
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
layer
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 10
})
});
答案 1 :(得分:0)
连接圈的原因是openlayers中的错误。更新到最新版本更正了问题。