Allow registration of custom functions for expressions
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
goog.require('ol.Expression');
|
||||
goog.require('ol.Map');
|
||||
goog.require('ol.RendererHint');
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.filter.Filter');
|
||||
goog.require('ol.expression');
|
||||
goog.require('ol.layer.TileLayer');
|
||||
goog.require('ol.layer.Vector');
|
||||
goog.require('ol.parser.GeoJSON');
|
||||
@@ -19,6 +18,11 @@ var raster = new ol.layer.TileLayer({
|
||||
source: new ol.source.MapQuestOpenAerial()
|
||||
});
|
||||
|
||||
// TODO: discuss scale dependent rules
|
||||
ol.expression.register('resolution', function() {
|
||||
return map.getView().getView2D().getResolution();
|
||||
});
|
||||
|
||||
var vector = new ol.layer.Vector({
|
||||
source: new ol.source.Vector({
|
||||
projection: ol.proj.get('EPSG:4326')
|
||||
@@ -32,13 +36,11 @@ var vector = new ol.layer.Vector({
|
||||
]
|
||||
}),
|
||||
new ol.style.Rule({
|
||||
filter: new ol.filter.Filter(function() {
|
||||
return map.getView().getResolution() < 5000;
|
||||
}),
|
||||
filter: 'resolution() < 5000',
|
||||
symbolizers: [
|
||||
new ol.style.Text({
|
||||
color: '#bada55',
|
||||
text: new ol.Expression('name'),
|
||||
text: ol.expression.parse('name'),
|
||||
fontFamily: 'Calibri,sans-serif',
|
||||
fontSize: 12
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user