- This release now includes support for MapLibre as a mapping library option.
InteractiveMapApp
- Disabled lightning threats from the location info panel by default since lightning now requires a separate add-on subscription. To enable lightning threats, override the info panel `localweather` view configuration on your InteractiveMapApp instance.
InteractiveMap
- Added support for MapLibre (https://maplibre.org). Use the `maplibre` map strategy.
- Allow using static from/to request parameters for AerisWeather Data API-based weather layers instead of the map timeline's range.
- Improved and fixed several issues related to MapsGL SDK usage and integration.
InteractiveMap
- Fixed vector data layer animations not working when supported (e.g. stormcells, storm reports, earthquakes, etc)
InteractiveMapApp
- Updated to show loading activity indicator while MapsGL layer data is loading.
- Fixed several animation sync issues with MapsGL layers.
- Made minor style improvements for dark mode.
Routing
- Improved route info panel styles for dark mode.
- Added support for using AerisWeather MapsGL with an InteractiveMapApp. For more information about MapsGL, see https://www.aerisweather.com/products/mapsgl/.
InteractiveMapApp
- Added support for including MapsGL layers, see https://www.aerisweather.com/products/mapsgl/.
- Added support for dark mode via `setMode()` providing a value of `light` or `dark`.
- Improved and updated CSS styling.
- Improved button panel and tooltip handling.
InteractiveMap
- Fix `pause` and `resume` events not triggered by Animation instances.
InteractiveMapApp
- Fix lengeds not updating units when toggling parent map between Metric and Imperial units.
- Sort `alerts` layer legend items by priority rather than alphabetically.
InteractiveMapApp
- Fixed and improved layer on/off and selection control handling.
InteractiveMap
- Fixed occasional rendering issues when a tile/raster layer animation starts loading when using the OpenLayers strategy.
Routing
- Fixed an issue where weather-related data was not rendering properly along the selected route.
NPM Usage
- There was extensive Typescript interface renaming, restructuring and improvements made in this release. This does not affect the compiled library, but if you are using our NPM module with Typescript and referencing any of these classes and/or interfaces directly, you may need to update your imports and names accordingly when upgrading to this release. See the 1.6.0 API documentation at https://aerisweather.com/docs/js/globals.html.
InteractiveMapApp
- Added support for overriding default `localweather` info panel configuration within the configuration object provided when instantiating an `InteractiveMapApp`.
- Fixed an issue where the layers panel was not resizing to account for visible scrollbars depending on browser and OS.
- Fixed an issue where the units toggle within an info panel was not reflecting the current unit state of the parent `InteractiveMapApp`.
- Fixed and improved several issues related to segmented and grouped button selection in the layers panel.
InteractiveMap
- Added `mouseover` and `mouseout` events to map markers, polylines and polygons.
- Fixed and improved several issues related to polyline and polygon opacity configurations and updates.
- Improved map library dependency loading so that dependencies are only loaded once when multiple `InteractiveMap` instances exist within the same viewport.
NPM Usage
- Updated published build to include and import compiled CSS files for modules instead of requiring the end-user to implement SCSS compilation in their own build processes.
- Cleaned up and restructured types and classes for improved code organization and modularity.
- Includes several minor bug fixes and improvements.
InteractiveMap
- Fixed an issue where custom base layers were not working properly when using OpenLayers.
- Upgraded to OpenLayers 6.5.x for the `openlayers` strategy.
Legends
- Fixed an issue where legends were not always being removed when the parent layer was removed from the map.
Routing
- Fixed and improved support for defining custom waypoints along a route.
InteractiveMapApp
- Fixed an issue where segmented button groups were not always expanding when selected in some cases.
InteractiveMap
- Fixed polygon opacity being set to 1 if custom opacity not provided for vector data sources.
Modules
- Tropical: Fixed extratropical (EX) system category not being rendered/styled properly.
- Routing: Fixed an issue where the source SCSS/CSS files for the Routing module were not included with the published NPM package.
- Includes the new Routing module. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/routing-module/ for more information.
InteractiveMapApp
- Fixed an issue where the initial layer opacity control was not reflecting the layer's initial opacity in some cases.
InteractiveMap
- Fixed several issues related to layer opacity style configurations with vector/polygon data sources.
- Fixed an issue where polygon click events were not being triggered while on the map.
Modules
- Added new Routing module for planning and visualizing route and asset information alongside critical weather data. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/routing-module/ for more information.
- Updated build configuration for precompiled library to use named chunks to avoid conflicts with other Webpack-based builds using chunked modules.
InteractiveMapApp
- Fixed several issues with layer control selection and deselection event triggers when part of segment groups.
- Fixed and improvement panel layout and rendering, especially when configured as toggleable.
InteractiveMap
- Upgraded default Leaflet version to 1.7.0.
- Added support for opacity controls for vector (polygon) layers.
- Fixed animation layers not using the proper AMP layer string as parent layer.
- Fixed opacity not being set properly for Google Maps overlays for animations.
Modules
- Added improved error handling around lazy loading of module resources.
InteractiveMapApp
- Fixed layer opacity not being applied to animated layers when using the new layer opacity control introduced in 1.4.0.
- Fixed layout issues with the layers panel when only module-related controls are added.
- Updated to use the /conditions endpoint instead of /observations for current weather data in the local weather info panel.
InteractiveMap
- Updated to use Mapbox GL 2.0.
- Fixed polygon layers not always being removed from the map when using the Mapbox strategy.
Network
- Added a `warning` property to ApiResult that will contain any warnings sent by the API in place of the error object.
Modules
- Added support for `onMarkerClick` and `onShapeClick` event handlers on a module group subclass in `ModuleGroup`.
InteractiveMapApp
- Added support for new layer settings control, including a built-in opacity control for raster and tile layers. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/layers-panel/#button-controls for more information.
- Added support for updating map panel configurations at runtime. See https://www.aerisweather.com/docs/js/classes/interactivemapapp.html#updatepanel.
- Improved and fixed map panel layout calculations for different layout configuration combinations.
- Improved layers panel button selection based on source add/remove events from the underlying interactive map.
- Fixed segmented button selection issues when switching between options for layers panel buttons.
- Fixed visibility of legend panel icon when no legends have been added.
- Fixed threats not rendering in local weather info panel.
- Fixed legends not always getting removed when deselecting their associated layer depending on the layer string used.
InteractiveMap
- Fixed issue with VectorSource instances not always updating when the map bounds change.
- Various minor bug fixes and stability improvements.
InteractiveMapApp
- Added public access to the individual panel classes to the
Apps module. This allows you to use these panels outside of an `InteractiveMapApp` instance, such as using them alongside `InteractiveMap` instance. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/#using-panels-with-interactivemap for more details.
- Fixed an issue with layer controls were not being selected properly for segmented buttons based on the initial layer values provided to the map app instance.
- Fixed the layers panel so that it will be hidden if no layer items are configured.
InteractiveMap
- Added support for fetching valid AMP layer times for raster weather layers. You can also set a specific layer's animation to use these valid times as intervals rather than having the animation auto-calculate the intervals. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map/managing-layers/#using-amp-valid-times for more information.
- Fixed some occasional playback issues when animating past layers when timeline starts at at
InteractiveMapApp
- Added support for disabling multiple selection across all groups for grouped segmented buttons. See the new `groupMultiselect` configuration option.
- Fixed minor layout issues with map info panel for mobile devices.
- Improved CSS selectors to reduce potential styling conflicts when used within a third-party web context.
InteractiveMap
- Added support for specifying timeline from/to values as relative string offsets (e.g. `-2 hours`, `-1 week`, etc). See the available timeline configuration options at https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map/timeline/#using-relative-time-offsets.
- Fixed an issue where air quality markers were being rendered as default map markers when the model's data was null or unavailable.
- Fixed an issue where the `zIndex` style override option was not being set on tile layers when instantiated.
Tropical
- Added forecast wind radii to `Windfields` data source.
- Added legends for `Breakpoints` and `Windfields` data sources.
- Updated the design and layout of the tropical track point info panel view.
InteractiveMapApp
- Improved and cleaned up the rendering of base View and Component elements across an InteractiveMapApp instance.
InteractiveMap
- Made several speed and performance improvements to raster tile loading and animations.
- Added support for continuing animation after visible map region changes (e.g. pan and/or zoom), which is now the default. Disable this by enabling `resetOnBoundsChange` on the timeline configuration. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map/configuration/
- Added new timeline animation configuration options to improve the loading/playback experience: `bufferIntervals`,`showLoadingIntervals`. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map/timeline/#configuring-animation-data-loading-behavior for a comparison of the different configuration options available.
- Fixed an issue where setting `timeline.intervals` in the map configuration was not overriding the default value.
- Fixed an issue where setting the timeline's duration property during playback was not recalculating the animation timing and speed.
- Fixed an issue where a paused animation would start playback after a map pan and/or zoom event.
- Fixed an issue when non-animatable layers would stop a playing animation when added to/removed from the map.
- - Made several improvements to showing and hiding time-specific tile data frames during animation playback.
- Fixed and improved layer order handling when using Google Maps.
- Fixed an issue where the map's center/zoom would get changed to the defaults when instantiating InteractiveMap with an existing Mapbox map instance.
Tropical
- Fixed a rendering issue when cyclone forecast tracks would cross the dateline, especially when using the Leaflet strategy.
Legends
- Improved legend override support when using GroupedLegend (e.g. `radar`, `road-conditions`, etc). You can now override the width factor for each legend item in the group.
- Fixed errors when using the SDK in Internet Explorer 11.
InteractiveMapApp
- Added support for re-rendering VectorSource data without reloading the same data (e.g. active filter/data type changed). See the `reloadOnChange` option for SegmentedButton: https://www.aerisweather.com/docs/js/globals.html#segmentedbuttonoptions
InteractiveMap
- Fixed an occasional error on map pan for the Google and OpenLayers mapping strategies.
- Fixed an issue where the zoom controls weren't being removed for the Leaflet strategy when disabled via the Leaflet map configuration.
Tropical Module
- Fixed an issue with tropical cyclone tracks that cross the international dateline from west to east.
- Introduces a new map modules feature for InteractiveMap and InteractiveMapApp. Read more about this feature at https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/.
- Added support for passing configuration options through ApiRequest and MapRequest convenience methods on `AerisWeather.api()` and `AerisWeather.map()`.
- Several minor bug fixes and improvements through the library.
InteractiveMapApp
- Added support for map modules. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/interactive-map-app/.
- Added new built-in map module groups and associated map modules: AviationGroup - FlightRules, SIGMETs, StationPlots; TropicalGroup - Breakpoints, Invests, Systems, Windfields. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/#built-in-modules.
- Added support for grouped segments in SegmentedButton. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/layers-panel/#grouped-segments.
- Added data loading indicator on layer controls associated with vector data sources.
- Added support for setting the current measurement units via `setMetric()`, which layers and info panel view content can respond to when changing.
- Added support for toggling units in the built-in local weather info panel view.
- Added support for providing an `onChange` callback function on button group configurations to respond to value changes within the group. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/layers-panel/#button-groups
- Added support for setting the time/date string formatting for the timeline panel. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/timeline-panel/#configuration
- Added `closeInfoPanel` to dismiss a presented info panel.
- Added a close indicator on hover for layer controls that can be toggled on/off. This does not apply to buttons within a group that function as a filter/toggle.
- Fixed issue where visible map bounds were not always used when reloading vector source data.
- Fixed issue where place search component was not including states for full state name searches.
- Fixed mobile touch event handling for timeline range selector control.
- Fixed several layout calculation issues with layers button panel.
- Fixed several issues related to layers panel button selection and a button's id/value.
InteractiveMap
- Added support for map modules. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/interactive-map/.
- Added new built-in map module groups and associated map modules: AviationGroup - FlightRules, SIGMETs, StationPlots; TropicalGroup - Breakpoints, Invests, Systems, Windfields. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/map-modules/#built-in-modules.
- Added support for setting the current measurement units via `setMetric()`, which layers and info panel view content can respond to when changing. You can return the current unit value via `isMetric()`.
- Added support for skipping the creation/render of markers by returning `{ skip: true }` from a vector data source's style configuration. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map/styling/#styling-point-data
- Fixed an issue with GeoJsonSource where models without a valid `id` property was resulting in an error. Now, `id` will be auto-generated for models that are missing the required property.
Legends
- Fixed issue where advisory legend would sometimes display all possible advisories on initial render before updating to active advisories within the visible map bounds.
Network
- Added support for new `lod` and `mindist` parameters available in the data API.
InteractiveMapApp
- Fixed issue where alerts legend was not displaying properly when using alert layers that contain modifiers/filters.
- Fixed issue where the legend was removed when removing a layer even when other active layers are associated with the same legend (e.g. alerts, stormreports, etc).
- Improved rendering of the timeline periods when the timeline includes a longer time range (e.g. greater than 10 days).
InteractiveMap
- Added support for configuring an AMP tile layer to use one of the supported image format extensions. Refer to the tile layer's associated `RasterStyle` configuration.
InteractiveMapApp
- Added support for setting layer-specific animation options for a layer control's configuration in the layer's panel (mainly `intervals` and `alwaysShow`).
InteractiveMap
- Fixed issues with multiple click events being triggered for markers associated with a VectorSource animation.
- Fixed an issue with marker event data payload not containing model data associated with a clicked/selected map marker.
MapView
- Fixed map not loading when `data.layers` configuration is null or empty.
InteractiveMap
- Added a default style to VectorSource so that data will still be rendered even if a custom style has not yet been provided.
- Fixed several issues related to past/future layer visibility relative to the map timeline's current position.
- Fixed an issue where text data was not animating properly for a TextSource.
InteractiveMapApp
- Added support for toggling units between Imperial and Metric in the default local weather info panel view.
- Added a `metric` configuration option to the info panel to display units in Metric instead of Imperial by default.
- Updated the legend panel with a max height so that its content scrolls vertically if there are a lot of active layers and/or alerts within the advisories legend.
- Fixed an issue where the map timeline would not render properly when a Daylight Savings Time change occurred within the start/end date range.
- Fixed an issue where the alerts/advisories legend would disappear or not render properly when zooming out to a global level.
- Fixed an issue where the timeline panel wasn't working properly when `toggleable` is enabled.
- Improved z-index ordering for panels and tooltips to prevent issues with control interactions between elements when rendered above each other.
Network
- Fixed issue where setting `from` and/or `to` to `0` was not being set properly for `ApiRequest`.
InteractiveMap
- Added required attribution for weather layers.
- Fixed an issue where setting `alwaysShowPast` and/or `alwaysShowFuture` were not also showing the animation loading progress for those layers.
- Fixed an issue with raster/tile layer opacity via OpenLayers not setting properly.
- Fixed layers associated with a image/tile animation not being removed consistently when stopping an animation.
- Fixed an issue when using the `google` strategy where non-animated tile layers were getting re-added to the map when removing the parent map content source after an animation.
MapView
- Fixed `autoplay` not automatically starting the animation when enabled and the map view has initialized.
Legends
- Fixed several issues with legends not properly using default style configurations.
- Fixed invalid NPM package generated and published with the 1.2.5 release.
NPM Module
- Fixed an issue where `google`, `mapbox` and `openlayers` map strategies were resulting in errors when adding weather layers to an InteractiveMap instance
InteractiveMap
- Improved GeoJSON parsing and rendering, now supports the full GeoJSON spec. Use the `geojson` source type instead of `vector` when adding custom GeoJSON content to an InteractiveMap.
- Fixed several issues with future layers not displaying properly, especially when the entire map timeline contains future time.
- Fixed an issue where map content associated with a VectorSource weren't always completing removed from the map when removing the parent layer after animating.
- Fixed an issue where immediately starting the map animation after instantiating an InteractiveMap instance would prevent animation from starting in some cases.
- Fixed an issue where including the opacity (or other layer modifiers) to an AMP layer code (e.g. `radar:80`) would result in an invalid layer warning.
InteractiveMapApp
- Added support for adding and/or removing layer controls to the `layers` panel at runtime. See the documentation for `add()`, `insertAt()`, `removeAt()` and `removeForId()`: xxx
- Fixed an issue where setting raster/tile layer options in a layer button's `options` configuration weren't getting passed to the InteractiveMap instance when adding the layer to the map.
- Fixed install issues with NPM package introduced with the 1.2.3 release.
- General bug fixes and improvements
NPM Module Usage
- Improved NPM module usage, which is now pre-transpiled and published as a CommonJS module. This eliminates the need to install and setup Babel and other tooling to transpile the module before use within the context of NodeJS and non-Webpack build processes. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/getting-started/module-usage/
InteractiveMap
- Add default style for the `fires` vector layer
- Fix map not refreshing based on configured `refresh` interval while an animation is playing and fix start/end timeline calculations.
- Fix tile/image animation loading progress not showing content when using the Mapbox strategy
- Fix non-animated layer appearing during tile/image animation at times when animating using the OpenLayers strategy
- Fix parsing and rendering issues for GeoJSON data associated with a vector source
- Fix and improve handling of initial center and/or zoom configurations across all map strategies.
InteractiveMapApp
- Add support for `multiselect` segments in the layers panel when `filters` is disabled, which would treat each segment as on/off toggles rather than enforcing a single selected value.
- Add support for automatically rendering step labels based on index or value for the timeline panel's range slider control. See `panels.timeline.range.marksEvery`.
- Improved handling of the `panels.timeline.range.value` configuration option, which when defined and no from/to range is defined in `map.timeline`, then the map timeline's range will be set to the range value provided by `panels.timeline.range.value`.
- Set the default CSS `font-family` property for the app container and its child nodes
- Fix vector sources not always being removed when `filter` is enabled for segments within the layers panel
- Fix legend rows being added to the legend view even for layers that don't have a legend assocaciated with it
- Fix overflow on the layers panel; now the layers panel will scroll vertically on overflow as to avoid overlapping other app controls
- Fix rendered observation and forecast hour times to use place timezones in local weather info panel content views
- Improve rendering and styling of vector polygon layers
Legends
- Fix legends not always being rendered for all layers that have an assocated legend configuration
- Fix advisory legend updates to use debounced updates to prevent incorrect advisory types from appearing in the legend based on the visible map bounds
- Fixed place name encoding for API requests
- General bug fixes and improvements
InteractiveMap
- Added 'tropical-cyclones-break-points' vector source
- Renamed 'rivers' vector point layer to 'river-observations' to avoid conflict with 'rivers' AMP overlay layer
- Fixed error when trying to add lightning-strikes-15m-icons layer
- Fixed and improved animation interval calculations
- Fixed issue with animations not working properly when using the 'mapbox' map strategy
- Fixed issue with tile layers not updating while scrubbing the timeline when using the 'google' map strategy
- Fixed issue where callout only appears on initial marker click for the 'leaflet' map strategy
InteractiveMapApp
- Added support for creating layer groups in the application's Layers panel
- Fixed error when not including an 'all' option for multiselect layer segments
- Fixed multiselect layer filters using an 'and' query instead of 'or'
InteractiveMap
- Fixed issue with duplicate tile layers appearing at times while scrubbing timeline after animating
- Fixed issue with animation not starting in some cases
- Fixed icon marker styling not working properly for non-Leaflet mapping strategies
InteractiveMapApp
- Improved handling of initial layers/menu selection at initialization
- Added a new full-featured interactive map application component. See https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/interactive-map-app/ for more details and usage information.
- General bug fixes and improvements throughout library
InteractiveMap
- Added support for `belowLayer` in RasterStyle to specify where to insert a raster/tile layer (specifically for Mapbox usage)
- Fixed error related to babel-polyfill: only one instance of babel-polyfill is allowed
Interactive Map
- Added support for changing the zIndex of image and tile layers. See RasterStyle, setLayerOrder(), bringLayerToTop() and sendLayerToBack().
- Removed the default marker callout for storm reports, use a custom implementation on `marker:click` instead
- Fixed base AMP layers not appearing for future time ranges
- Fixed advisories legend not properly updating based on map view on initial render
- Removed embedded *.scss/*.css import within library. SASS or precompiled CSS will need to be imported separately. Refer to the Getting Started guide for your method of implementation for more info: https://www.aerisweather.com/support/docs/toolkits/aeris-js-sdk/getting-started/
- General bug fixes and improvements throughout library
Interactive Map
- Added support for tropicalcyclones layer, a fully interactive layer for displaying and animating current and past tropical cyclones
- Added support for animating polygons and polylines associated with a VectorSource
- Added z-index support for MarkerStyle
- Added support for displaying multiple text elements in an SVG marker style definition
- Fixed issue where layers weren't fully removed when calling `removeLayer` after being animating
- Replaced PointSource, ShapeSource and CombinedSource classes with single VectorSource
- Fixed issue with SVG markers not rendering in Firefox
- Fixed issue with SVG markers not sizing properly with Google Maps
- Fixed several issues related to data and text animations
- Improved style and request configurations for vector layers
- Minor bug fixes and improvements
InteractiveMap
- Fixed issue when displaying a map layer for a static time offset
NPM Module
- Removed embedded *.scss import, replaced with precompiled CSS file within distribution package
- General bug fixes and improvements throughout library
Core
- Added format() parameter method for ApiRequest
InteractiveMap
- Improved map/layer click event handling
- Improved support for custom point and shape map content sources
- Improved style configuration handling for map content sources
- Moved data property key-path configuration to new `data.properties` object for map content source options
LegendView
- Add event triggers when a legend is added or removed
BETA 5
- General bug fixes and improvements throughout
InteractiveMap
- Added animation loading indicator to InteractiveMap
- Added support for showing map callout from a specific coordinate or marker
- Added support for using static data or a remote URL when adding custom non-Aeris point and shape content sources to an Interactive Map
- Added support for non-animated point content sources
- Added support for specifying an auto-refresh interval for an InteractiveMap instance, which will update all active content sources automatically at regular intervals
- Added support for specifying an auto-refresh interval for individual point and shape content sources, which is a separate interval than the parent InteractiveMap refresh interval
- Added support for passing map-specific native configuration options to be provided with the InteractiveMap constructor
- Fixed map strategy not correctly being selected based on map instance type when using the NPM module
- Fixed future layer codes with modifiers not being flagged as future
- Fixed shapes not being removed when removing a combined content source (e.g. stormcells)
LegendView
- Added event triggers when individual legend elements are added or removed from the view
- Added legend title labels to individual legend view elements
- Several general bug fixes and improvements
BETA 4
- Added support for Google Maps (`google` strategy)
- Added static image-based MapView component
- Added LegendView component
- Improved public interface for view-based components (
breaking change)
- Tons of bug fixes and improvements throughout the library
BETA 3
- Added support for OpenLayers (`openlayers` strategy)
- Fixed issue with text layers via Mapbox strategy
- Fixed several issues with tile/image animations for Mapbox strategy
BETA 2
- Added support for Mapbox GL (`mapbox` strategy)
- Added support for callout popups on marker click events
- Fixed issue where zoom level wasn't being set from initial config
- Fixed several issues with rendering TextSource data and animations
BETA 1
- Initial beta release
Last modified: November 12, 2018