Changelog

Changelog

1.8.2

January 11, 2024

  • Remove unnecessary console.log on production builds

InteractiveMap

  • Fix to use MapsGL timeline for controlling overall map timeline when using the MapsGL module
  • Fix to improve handling of module selection on initial load
  • Update data attribution to Xweather

1.8.1

October 11, 2023

Modules

  • Fix module sources not being added if selected before module loads.
  • Tropical: Fix windfields display issue in Mapbox and MapLibre for the tropical cyclones module.

InteractiveMapApp

  • Fix to use button segment options overrides properly.
  • Fix to uuto-select buttons after events instead of during DOM method.
  • Improve support for control overrides with module groups.

InteractiveMap

  • Fix Mapbox and Google strategies not using map.zoomControl config.
  • Fix request params overrides not working.

1.8.0

November 30, 2022

  • 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 (opens in a new tab)). Use the maplibre map strategy.
  • Allow using static from/to request parameters for Xweather Data API-based weather layers instead of the map timeline's range.

1.7.2

November 7, 2022

  • 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)

1.7.1

September 6, 2022

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.

1.7.0

August 1, 2022

InteractiveMapApp

InteractiveMap

  • Fix pause and resume events not triggered by Animation instances.

1.6.1

June 20, 2022

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.

1.6.0

November 8, 2021

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 (opens in a new tab).

1.5.3

September 7, 2021

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.

1.5.2

July 26, 2021

  • 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.

1.5.1

June 14, 2021

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.

1.5.0

May 13, 2021

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

1.4.2

April 12, 2021

  • 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 Raster Maps 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.

1.4.1

February 10, 2021

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.

1.4.0

January 11, 2021

InteractiveMapApp

InteractiveMap

  • Fixed issue with VectorSource instances not always updating when the map bounds change.

1.3.4

November 16, 2020

  • Various minor bug fixes and stability improvements.

InteractiveMapApp

InteractiveMap

1.3.3

September 3, 2020

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

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.

1.3.2

August 12, 2020

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.xweather.com/docs/javascript-sdk/interactive-map/configuration/ (opens in a new tab)
  • Added new timeline animation configuration options to improve the loading/playback experience: bufferIntervals,showLoadingIntervals. See https://www.xweather.com/docs/javascript-sdk/interactive-map/timeline/#configuring-animation-data-loading-behavior (opens in a new tab) 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.

1.3.1

May 5, 2020

  • Fixed errors when using the SDK in Internet Explorer 11.

InteractiveMapApp

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

  • Fixed an issue with tropical cyclone tracks that cross the international dateline from west to east.

1.3.0

March 17, 2020

  • Introduces a new map modules feature for InteractiveMap and InteractiveMapApp. Read more about this feature at https://www.xweather.com/docs/javascript-sdk/map-modules/ (opens in a new tab).
  • Added support for passing configuration options through ApiRequest and MapRequest convenience methods on Xweather.api() and Xweather.map().
  • Several minor bug fixes and improvements through the library.

InteractiveMapApp

InteractiveMap

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.

1.2.10

January 21, 2020

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 Raster Maps tile layer to use one of the supported image format extensions. Refer to the tile layer's associated RasterStyle configuration.

1.2.9

December 11, 2019

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.

1.2.8

November 25, 2019

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.

1.2.7

October 22, 2019

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.

1.2.6

September 18, 2019

  • Fixed invalid NPM package generated and published with the ## 1.2.5 release.

1.2.5

September 18, 2019

NPM Usage

  • 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 Raster Maps 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.

1.2.4

August 27, 2019

  • Fixed install issues with NPM package introduced with the 1.2.3 release.

1.2.3

August 27, 2019

  • General bug fixes and improvements

NPM 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

1.2.2

July 10, 2019

  • 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' Raster Maps 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'

1.2.1

May 30, 2019

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

1.2.0

May 9, 2019

InteractiveMap

  • Added support for belowLayer in RasterStyle to specify where to insert a raster/tile layer (specifically for Mapbox usage)

1.1.1

April 26, 2019

  • Fixed error related to babel-polyfill: only one instance of babel-polyfill is allowed

InteractiveMap

  • 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 Raster Maps layers not appearing for future time ranges
  • Fixed advisories legend not properly updating based on map view on initial render

1.1.0

April 2, 2019

InteractiveMap

  • 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

1.0.1

March 25, 2019

  • Minor bug fixes and improvements

InteractiveMap

  • Fixed issue when displaying a map layer for a static time offset

NPM Usage

  • Removed embedded *.scss import, replaced with precompiled CSS file within distribution package

1.0.0

March 11, 2019

  • 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

Legends

  • Add event triggers when a legend is added or removed

0.5.0

February 18, 2019

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)

Legends

  • 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

0.4.0

January 31, 2019

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

0.3.0

January 8, 2019

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

0.2.0

December 10, 2018

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

0.1.0

November 12, 2018

BETA 1

  • Initial beta release