In Openlayers war es möglich, bestimmte Funktionen abhängig von der Zoomstufe ein- oder auszuschalten. Ich habe die gleiche Funktionalität in OpenLayers 3 trotz der Durchsicht der Dokumentation nicht gefunden. Weiß jemand, wie man das macht? Dies ist die Funktion, die ich auf der Karte platziere, und ol.style.Text
möchte ich nur anzeigen, wenn der Benutzer auf eine bestimmte Zoomstufe gezoomt ist.Set-Stil Zoom Level Openlayers 3
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
})
})
});
hat 'minResolution',' maxResolution' auf Vektorebene Initialisierung Ihren Bedürfnissen passen ???? api doc hier -> http://openlayers.org/en/latest/apidoc/ol.layer.Vector.html – pavlos
Nicht wirklich, weil der Stil Teil der Ebene ist, so dass nicht nur der Text ausgeblendet wird, wird die gesamte Ebene ausgeblendet ... –
Dann können Sie die 'ol.style.StyleFunction()' anstelle eines statischen Stils verwenden. Es akzeptiert zwei Parameter "ol.Feature" und "resolution". Wenn Sie also die Auflösung verwenden, geben Sie Ihren statischen Stil mit oder ohne Text zurück. Wenn Sie weitere Hilfe brauchen, werde ich versuchen, eine Geige zu machen. – pavlos