【发布时间】:2015-06-24 10:56:30
【问题描述】:
我有一个矢量图层,其样式当前定义为:
var styles = new ol.style.Style({
image: new ol.style.Circle({
radius: 4,
fill: new ol.style.Fill({color: 'red'}),
stroke: new ol.style.Stroke({color: 'black', width: 1})
})
我希望根据地图缩放级别动态更改半径 - 类似于:
半径:(zoom/2)+1
我该怎么做呢?
更新: Jonatas 的评论帮助我朝着正确的方向前进。我最终使用了以下内容:
map.getView().on('change:resolution', function(evt) {
var zoom = map.getView().getZoom();
var radius = zoom / 2 + 1;
var newStyle = new ol.style.Style({
image: new ol.style.Circle({
radius: radius,
fill: new ol.style.Fill({color: 'red'}),
stroke: new ol.style.Stroke({color: 'black', width: 1})
})
})
vectorLayer.setStyle(newStyle);
});
【问题讨论】:
标签: openlayers-3