【发布时间】:2016-06-14 15:46:40
【问题描述】:
在 Openlayers 中,可以根据缩放级别打开或关闭某些功能。尽管查看了文档,但我在 OpenLayers 3 中没有找到相同的功能。有谁知道如何做到这一点?这是我在地图上放置的功能,ol.style.Text 是我希望仅在用户放大到特定缩放级别后才显示的内容。
var geoJsonObj = {
'type': 'Feature',
'geometry': JSON.parse(response.FieldList[key].Shape)
}
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geoJsonObj)
});
Fields[Field.FieldID] = new ol.layer.Vector({
projection: 'EPSG:4269',
source: vectorSource,
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: 'yellow',
width: 1
}),
fill: new ol.style.Fill({
color: rcisWebMapUtilities.convertHex(response.FieldList[key].Shade, '0.5')
}),
text: new ol.style.Text({
textAlign: 'Center',
text: response.FieldList[key].Acres,
scale: 1
})
})
});
【问题讨论】:
-
矢量层初始化
minResolution,maxResolution是否满足您的需求???? api 文档在这里 --> openlayers.org/en/latest/apidoc/ol.layer.Vector.html -
并不是因为样式是图层的一部分,所以不仅隐藏了文本,整个图层也被隐藏了......
-
那么您可以使用
ol.style.StyleFunction()而不是静态样式。它接受两个参数ol.Feature和resolution。因此,使用分辨率返回带有或不带有文本的静态样式。如果您需要进一步的帮助,我会尝试制作小提琴。 -
如果你愿意做一个小提琴,我将不胜感激,我查看了许多示例,它们似乎都不同......当我尝试使用其中许多时,我收到“功能不存在”错误的
-
...当我尝试使用“ol.style.styleFunction”时出现错误“ol.style.styleFunction 不是构造函数”,并且我还尝试了其他命名约定“ol .style.StyleFunction" 结果一样
标签: javascript openlayers openlayers-3