Web SDK map control release notes
This document contains information about new features and other changes to the Map Control.
v3 (latest)
3.4.0 (CDN: September 30, 2024, npm: October 2)
New features
- Add support for PMTiles.
Bug fixes
- Accessibility: Fix overflow issue with the style picker label in small containers.
- Fix attribution not updating after style changes with a GeoJSON data source.
- Fix
setCamera
with bounds and min/max zoom. - Use
ResizeObserver
instead of window resize events. - Fix footer logo width.
Other changes
- Add
@types/geojson
as a dependency. - Update dependency
@microsoft/applicationinsights-web
to^3.3.0
3.3.0 (August 8, 2024)
New features
- Update the Copyright control
- Make the copyright text smaller and ensure it fits on one line.
- Use different types of Microsoft logos for different CSS themes to improve visibility.
- Implement RWD to hide part of the component (MS logo) when the map canvas is relatively small.
- Enhance base layer class by adding abstract
getOptions
andsetOptions
functions.
Bug fixes
- Skip existing sources when copying user layers.
- [BREAKING] Address the incorrect ordering of latitude and longitude values in
Position.fromLatLng()
. - Fix hidden accessible element visible issue on control buttons.
3.2.1 (May 13, 2024)
New features
- Constrain horizontal panning when
renderWorldCopies
is set tofalse
. - Make
easeTo
andflyTo
animation smoother when the target point is close to the limits: maxBounds, vertical world edges, or antimeridian.
Bug fixes
- Correct accessible numbers for hidden controls while using 'Show numbers' command.
- Fix memory leak in worker when the map is removed.
- Fix unwanted zoom and panning changes at the end of a panning motion.
Other changes
- Improve the format of inline code in the document.
3.2.0 (March 29, 2024)
Other changes
Upgrade MapLibre to V4.
Correct the default value of
HtmlMarkerOptions.pixelOffset
from[0, -18]
to[0, 0]
in the doc.
3.1.2 (February 22, 2024)
New features
- Added
fillAntialias
option toPolygonLayer
for enabling MSAA antialiasing on polygon fills.
Other changes
- Update the feedback icon and link.
3.1.1 (January 26, 2024)
New features
- Added a new option,
enableAccessibilityLocationFallback
, to enable or disable reverse-geocoding API fallback for accessibility (screen reader).
Bug fixes
- Resolved an issue where ApplicationInsights v3.0.5 was potentially sending a large number of requests.
3.1.0 (January 12, 2024)
New features
Added a new control,
atlas.control.ScaleControl
, to display a scale bar on the map.Introduced functions for accessing, updating, and deleting a feature state.
Bug fixes
Addressed the issue of layer ordering after a style update, when a user layer is inserted before another user layer.
[BREAKING] Aligned the polygon fill pattern behavior with Maplibre. Now, the
fillPattern
option consistently disables thefillColor
option. When configuringfillColor
for polygon layers, ensure thatfillPattern
is set toundefined
.
3.0.3 (November 29, 2023)
New features
- Included ESM support.
Other changes
The accessibility feature for screen reader has been upgraded to utilize the Search V2 API (reverse geocoding).
Enhanced accessibility in the Compass and Pitch controls.
3.0.2 (November 1, 2023)
Bug fixes
- Addressed several errors in the type declaration file and added a dependency for
@maplibre/maplibre-gl-style-spec
.
Other changes
Removed Authorization headers from style, thumbnail, sprite, and glyph requests to enhance CDN caching for static assets.
Updated the documentation for
map.clear()
andlayers.clear()
.
3.0.1 (October 6, 2023)
Bug fixes
Various accessibility improvements.
Resolved the issue with dynamic attribution when progressive loading is enabled.
Fixed missing event names in
HtmlMarkerEvents
.
Other changes
Modified member methods to be protected for the zoom, pitch, and compass controls.
Telemetry is disabled by default in the Azure Government cloud.
3.0.0 (August 18, 2023)
Bug fixes
Fixed zoom control to take into account the
maxBounds
CameraOptions.Fixed an issue that mouse positions are shifted after a css scale transform on the map container.
Other changes
Phased out the style definition version
2022-08-05
and switched the defaultstyleDefinitionsVersion
to2023-01-01
.Added the
mvc
parameter to encompass the map control version in both definitions and style requests.
Installation
The version is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0/atlas.min.js"></script>
3.0.0-preview.10 (July 11, 2023)
Bug fixes
Dynamic pixel ratio fixed in underlying maplibre-gl dependency.
Fixed an issue where
sortKey
,radialOffset
,variableAnchor
isn't applied when used inSymbolLayer
options.
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.10
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.10/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.10/atlas.min.js"></script>
3.0.0-preview.9 (June 27, 2023)
New features
WebGL2 is used by default.
Elevation APIs:
atlas.sources.ElevationTileSource
,map.enableElevation(elevationSource, options)
,map.disableElevation()
Ability to customize maxPitch / minPitch in
CameraOptions
Bug fixes
- Fixed an issue where accessibility-related duplicated DOM elements might result when
map.setServiceOptions
is called
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.9
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.9/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.9/atlas.min.js"></script>
3.0.0-preview.8 (June 2, 2023)
Bug fixes
Fixed an exception that occurred while updating the property of a layout that no longer exists.
Fixed an issue where BubbleLayer's accessible indicators didn't update when the data source was modified.
Fixed an error in subsequent
map.setStyle()
calls if the raw Maplibre style is retrieved in thestylechanged
event callback on style serialization.
Other changes
- Updated attribution logo and link.
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.8
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.8/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.8/atlas.min.js"></script>
3.0.0-preview.7 (May 2, 2023)
New features
- In addition to map configuration, Map.setServiceOptions() now supports changing
domain
,styleAPIVersion
,styleDefinitionsVersion
on runtime.
Bug fixes
Fixed token expired exception on relaunches when using Azure AD / shared token / anonymous authentication by making sure authentication is resolved prior to any style definition request
Fixed redundant style definition and thumbnail requests
Fixed incorrect
aria-label
applied to zoom out control button elementFixed the possibility of undefined copyright element container when withRuleBasedAttribution is set to false
Fixed the possibility of event listener removal called on undefined target in
EventManager.remove()
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.7
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.7/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.7/atlas.min.js"></script>
3.0.0-preview.6 (March 31, 2023)
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.6
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.6/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.6/atlas.min.js"></script>
New features
- Optimized the internal style transform performance.
Bug fixes
Resolved an issue where the first style set request was unauthenticated for
AAD
authentication.Eliminated redundant requests during map initialization and on style changed events.
3.0.0-preview.5 (March 15, 2023)
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.5
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.5/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.5/atlas.min.js"></script>
New features
- Support dynamically updating mapConfiguration via
map.setServiceOptions({ mapConfiguration: 'MAP_CONFIG' })
3.0.0-preview.4 (March 10, 2023)
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.4
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.4/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.4/atlas.min.js"></script>
New features
Extended map coverage in China, Japan, and Korea.
Preview of refreshed map styles (Road / Night / Hybrid / Gray Scale Dark / Gray Scale Light / Terra / High Contrast Dark / High Contrast Light).
More details on roads/building footprints/trails coverage.
Wider zoom level ranges (1~21) for the Terra style.
Greater details on public transit including ferries, metros, and bus stops.
Additional information about the altitude of mountains and the location of waterfalls.
Changes
Traffic data now only support relative mode.
Deprecated
showBuildingModels
in StyleOptions.Changed the default
minZoom
from -2 to 1.
Bug fixes
Cleaned up various memory leaks in Map.dispose().
Improved style picker's tab navigation for accessibility in list layout.
Optimized style switching by avoiding deep cloning objects.
Fixed an exception that occurred in SourceManager when style switching with sources that weren't vector or raster.
[BREAKING] Previously
sourceadded
events are only emitted if new sources are added to the style. Nowsourceremoved
/sourceadded
events are emitted when the new source and the original source in the current style aren't equal, even if they have the same source ID.
3.0.0-preview.3 (February 2, 2023)
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.3
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.3/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.3/atlas.min.js"></script>
New features
[BREAKING] Migrated from adal-angular to @azure/msal-browser used for authentication with Microsoft Azure Active Directory (Azure AD). Changes that might be required:
Platform / Reply URL
Type must be set toSingle-page application
on Azure AD App Registration portal.- Code change is required if a custom
authOptions.authContext
is used. - For more information, see How to migrate a JavaScript app from ADAL.js to MSAL.js.
Allow pitch and bearing being set with CameraBoundsOptions in Map.setCamera(options).
Bug fixes
Fixed issue in language mapping, now
zh-Hant-TW
no longer reverts back toen-US
.Fixed the inability to switch between user regions (view).
Fixed exception that occurred when style switching while progressive layer loading is in progress.
Fixed the accessibility information retrieval from map tile label layers.
Fixed the occasional issue where vector tiles aren't being rerendered after images are being added via ImageSpriteManager.add().
3.0.0-preview.2 (December 16, 2022)
Installation
The preview is available on npm and CDN.
NPM: Refer to the instructions at azure-maps-control@3.0.0-preview.2
CDN: Reference the following CSS and JavaScript in the
<head>
element of an HTML file:<link href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.2/atlas.min.css" rel="stylesheet" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3.0.0-preview.2/atlas.min.js"></script>
New features
Add progressiveLoading
and progressiveLoadingInitialLayerGroups
to StyleOptions to enable the capability of loading map layers progressively. This feature improves the perceived loading time of the map. For more information, see 2.2.2 release notes.
Bug fixes
Fixed an issue that the ordering of user layers wasn't preserved after calling
map.layers.move()
.Fixed the inability to disable traffic incidents in TrafficControlOptions when
new atlas.control.TrafficControl({incidents: false})
is used.Add
.atlas-map
to all css selectors to scope the styles within the map container. The fix prevents the css from accidentally adding unwanted styles to other elements on the page.
3.0.0-preview.1 (November 18, 2022)
Installation
The preview is available on npm.
Install azure-maps-control@next to your dependencies:
npm i azure-maps-control@next
New features
This update is the first preview of the upcoming 3.0.0 release. The underlying maplibre-gl dependency has been upgraded from 1.14
to 3.0.0-pre.1
, offering improvements in stability and performance.
Bug fixes
Fixed a regression issue that prevents IndoorManager from removing a tileset:
indoorManager.setOptions({ tilesetId: undefined })
v2
2.3.7 (February 22, 2024)
New features
- Added
fillAntialias
option toPolygonLayer
for enabling MSAA antialiasing on polygon fills. - Added a new option,
enableAccessibilityLocationFallback
, to enable or disable reverse-geocoding API fallback for accessibility (screen reader).
Other changes
- Update the feedback icon and link.
2.3.6 (January 12, 2024)
New features
Added a new control,
atlas.control.ScaleControl
, to display a scale bar on the map.Introduced functions for accessing, updating, and deleting a feature state.
Bug fixes
- Addressed the issue of layer ordering after a style update, when a user layer is inserted before another user layer.
2.3.5 (November 29, 2023)
Other changes
- The accessibility feature for screen reader has been upgraded to utilize the Search V2 API (reverse geocoding).
2.3.4 (November 1, 2023)
Other changes
Removed Authorization headers from style, thumbnail, sprite, and glyph requests to enhance CDN caching for static assets.
Updated the documentation for
map.clear()
andlayers.clear()
.
2.3.3 (October 6, 2023)
Bug fixes
- Resolved the issue with dynamic attribution when progressive loading is enabled.
2.3.2 (August 11, 2023)
Bug fixes
Fixed an issue where accessibility-related duplicated DOM elements might result when
map.setServiceOptions
is called.Fixed zoom control to take into account the
maxBounds
CameraOptions.
Other changes
- Added the
mvc
parameter to encompass the map control version in both definitions and style requests.
2.3.1 (June 27, 2023)
Bug fixes
- Fix
ImageSpriteManager
icon images might get removed during style change
Other changes
- Security: insecure-randomness fix in UUID generation.
2.3.0 (June 2, 2023)
New features
- [BREAKING] Refactored the internal StyleManager to replace
_stylePatch
withtransformStyle
. This change will allow road shield icons to update and render properly after a style switch.
Bug fixes
Fixed an exception that occurred while updating the property of a layout that no longer exists.
Fixed an issue where BubbleLayer's accessible indicators didn't update when the data source was modified.
Other changes
- Updated attribution logo and link.
2.2.7 (May 2, 2023)
New features
- In addition to map configuration, Map.setServiceOptions() now supports changing
domain
,styleAPIVersion
,styleDefinitionsVersion
on runtime.
Bug fixes
Fixed token expired exception on relaunches when using Azure AD / shared token / anonymous authentication by making sure authentication is resolved prior to any style definition request
Fixed redundant style definition and thumbnail requests
Fixed incorrect
aria-label
applied to zoom out control button elementFixed the possibility of undefined copyright element container when withRuleBasedAttribution is set to false
Fixed the possibility of event listener removal called on undefined target in EventManager.remove()
2.2.6
Bug fixes
Resolved an issue where the first style set request was unauthenticated for
AAD
authentication.Eliminated redundant requests during map initialization and on style changed events.
2.2.5
New features
- Support dynamically updating mapConfiguration via
map.setServiceOptions({ mapConfiguration: 'MAP_CONFIG' })
2.2.4
Bug fixes
Cleaned up various memory leaks in Map.dispose().
Improved style picker's tab navigation for accessibility in list layout.
2.2.3
New features
- Allow pitch and bearing being set with CameraBoundsOptions in Map.setCamera(options).
Bug fixes
Fixed issue in language mapping, now
zh-Hant-TW
no longer reverts back toen-US
.Fixed the inability to switch between user regions (view).
Fixed exception that occurred when style switching while progressive layer loading is in progress.
Fixed the accessibility information retrieval from map tile label layers.
Fixed the occasional issue where vector tiles aren't being rerendered after images are being added via ImageSpriteManager.add().
2.2.2 (December 15, 2022)
New features
Add progressiveLoading
and progressiveLoadingInitialLayerGroups
to StyleOptions to enable the capability of loading map layers progressively. This feature improves the perceived loading time of the map.
progressiveLoading
- Enables progressive loading of map layers.
- Defaults to
false
.
progressiveLoadingInitialLayerGroups
- Specifies the layer groups to load first.
- Defaults to
["base"]
. - Possible values are
base
,transit
,labels
,buildings
, andlabels_places
. - Other layer groups are deferred such that the initial layer groups can be loaded first.
Bug fixes
Fixed an issue that the ordering of user layers wasn't preserved after calling
map.layers.move()
.Fixed the inability to disable traffic incidents in TrafficControlOptions when
new atlas.control.TrafficControl({incidents: false})
is used.
Next steps
Explore samples showcasing Azure Maps:
Stay up to date on Azure Maps: