Releases: aerisweather/aerisjs
v0.7.4
- ADD: Animation methods:
setFrom
,setTo
,getFrom
,getTo
- ADD: New
AutoUpdateAnimation
object. Automatically updates an animation with new
tile layers as they become available from the Aeris API tile server. - MOD: Improvements to animation performance
- FIX: Remove unused dependencies from bower configuration and repo.
- FIX: AnimationSync passes options to component animation objects
- FIX: Fix incorrect unloading of tile objects, which was causing animation
to stop playing, in some cases.
See git history for a full list of changes.
v0.7.3
- FIX: Prevent aeris.util from overriding underscore object.
This fixes issues with clients' underscore templates not
properly compiling, and prevents custom Aeris.js utlity functions
from leaking into other users code.
See git history for a full list of changes.
v0.7.2
v0.7.1
- FIX: AerisBatchModel handles errors in indiviudal endpoint responses
- FIX: AerisApiModel/Collection objects do not throw an ApiResponseError.
Errors should be handled by either ononerror
option forfetch
,
or by the promise returned byfetch
.
v0.7.0
BREAKING CHANGES
- MOD: Animation#getCurrentTime return a date object instead of a timestamp.
- MOD: DateHelper methods return the DateHelper instance, instead of the underlying Date object.
Other changes
- ADD: Animation#isAnimating method
- MOD: Improve TileAnimation performance, and fix blocking behavior
See git history for a full list of changes.
v0.6.0
BREAKING CHANGES
- MOD: Animations are bound to the layer with which they were created.
- MOD: Remove MapExtensionObject#requestView.
- MOD: Update animation examples
See git history for a full list of changes
Notes on upgrading to Aeris.js v0.6.0
Animations
You can now control an animation using the layer with which it was created. For example:
var map = new aeris.maps.Map('map-canvas');
var radar = new aeris.maps.layers.Radar();
var animation = new aeris.maps.animations.TileAnimation(radar);
animation.start();
// animation.setOpacity(0.5); // this no longer works in v0.6.0
radar.setOpacity(0.5); // use this instead
radar.setMap(null); // Removes the animated layer from the map
radar.setMap(map); // Adds the animated back to the map
In previous versions, updating the layer after adding it to an animation would have broken the animation.
The same now works for AnimationSync objects
var map = new aeris.maps.Map('map-canvas');
var radar = new aeris.maps.layers.Radar();
var satellite = new aeris.maps.layers.Satellite();
var animation = new aeris.maps.animations.AnimationSync([radar, satellite]);
radar.setMap(map);
satellite.setMap(map);
animation.start();
radar.setOpacity(0.5); // Changes the opacity of the radar layer only
// (note that this was not possible in v0.5)
radar.setMap(null); // Removes the radar layer from the map
The goal of this change is to better decouple the animation object from the layer objects. Previously, if a layer was being animated, you could not manipulate the base layer without messing up the animation. Now, you can use the base layer the same as before it was animated, and all animation frames will follow suit.
requestView
The requestView
method has been removed from all mapObjects. It was previously recommended to use mapObject.requestView()
(asynchronous, returns promise) in place of mapObject.getView()
(synchronous, returns view) because some map objects loaded their view-rendering strategy asynchronously. In v0.6.0, the StrategyObject has been refactored to only load strategies synchronously.
When upgrading to v0.6.0, you will need to replace all calls to requestView
with calls to getView
. For example:
// In v0.5
mapObject.requestView().
done(function(view) {
var mapObjectView = view;
});
// In v0.6
var mapObjectView = mapObject.getView();
v0.5.1
- MOD: Update demos to use Leaflet,
or use aeris-gmaps build when not a features are supported. - ADD: aeris.Model#bindAttributesTo method
- FIX: Use noConflict on underscore
- FIX: Strategy object remove rendered map object view
on destroy - FIX: Leaflet strategies clean up view event listeners on destroy.
See git history for a full list of changes.
v0.5.0
BREAKING CHANGES
- MOD: Renamed built library files, using an 'aeris-` prefix.
eg. 'aeris-gmaps.js' instead of 'gmaps.js' - MOD: Default aeris.js not uses Leaflet, instead of gmaps.
To adapt to breaking changes, make sure you update your links to the Aeris.js library.
If you currently using Google Maps along with the main 'aeris.js' or 'aeris.min.js'
script, you will want to switch to use 'aeris-gmaps.js' or 'aeris-gmaps.min.js'.
v0.4.3
- ADD: Batch api requests with AerisBatchModel
see docs for details - ADD: AerisApiModel/AerisApiCollection
getAction
andgetEndpoint
methods. - ADD: Params accept array for 'filter' option.
(previously only accepted a FilterCollection) - ADD: AnimationSync accepts an array of layers for
add
and as
constructor argument. - MOD: Params do not proxy change events for the nested ChainedQuery
collection if the query instance is changed.
(removed bloated code which provided little value, and no documented use) - MOD: TileAnimations default 'frame' limit set to 10
(instead of unlimited). Results in faster load time, by default.
Note: you can set the TileAnimation 'limit' option to null to
revert to unlimited animation frames.
See git history for a full list of changes.