The animation-related code is missing sufficient detail to make it
usable without digging in to the code. This adds some additional
detail to the ol.animation namespace, the related options, and makes
note of the existance of ol.animation in the documentation of
ol.Map.addPreRenderFunction(s).
With this change, the user provides a filter function instead of
an array of layers. Selection layers are created lazily, and
addition/removal of layers is not handled by the control to give
the user more options, as suggested by @elemoine.
When a style has no rules, the "else" symbolizers apply. When a style has rules and none of them apply to the given feature, the "else" symbolizers apply. Note that this is different than default symbolizer properties that might be merged into all symbolizers (as in OL2) - I don't think we should support that.
This makes the asynchronous and synchronous versions of
readFeatures work with the same data structures, and leaves
projection handling outside the parsers.
This adds url, data and parser options to the source, and makes
EPSG:4326 the default projection. It also adds a prepareFeatures
method, which is used to load/parse data once the target
projection is known.
This was previously called getTransformFeatureInfo, which is a method instead of an option. In addition, the generate-exports.py script does not properly export properties whose names appear on a different line than the @property annotation. This makes the vector-layer.html, kml.html, and gpx.html examples work with the built lib.
The projection validity extent is used to generate a sensible
set of default resolutions and a sensible default tile grid.
By making it optional, we can still generate defaults - with
zoom levels that are similar to the default web mercator zoom
levels (based on fitting the world on a single tile, even if the
projection is not available for the whole world).