What's New
ROU-4776 - A new site property, GoogleMapsVersion, has been added to the OutSystems Maps module. This property allows you to define which version of Google Maps should be loaded.By default, it is set to version 3.58 (the stable release for November 2024).If an invalid or unsupported version is specified, Google Maps will automatically default to the latest weekly version.Please note, that any updates to this property will require a manual application reload for the changes to take effect.
ROU-11055 - Support for Google Maps new AdvancedMarkerElement has been added and is now used as the default marker.To accommodate this update, a new parameter called UseAdvancedMarkers (default: true) has been introduced in the Google Map optional configurations.Additionally, a new parameter was added to the Google Map optional configurations, called MapStyleId.This parameter is used to indicate the ID of the map styles created in the Google Cloud Console, and it will only be used when the parameter UseAdvancedMarkers is set to true.If the deprecated Google Marker needs to be used for compatibility reasons, set UseAdvancedMarkers to false. For more info about this change check this link.
ROU-11344 - Updated Leaflet library to the latest version 1.9.4.
Fixed Issues and Improvements
ROU-3174 - Now, we can use the new Map’s optional configuration AutoZoomOnShapes to allow the auto zoom feature to adjust and fit all shapes displayed on the map.This functionality is only applicable to Zoom = Entities.Zoom.Auto.For Leaflet Maps, this property cannot be changed in runtime.
Zoom = Entities.Zoom.Auto
ROU-4665 - A new parameter called RespectUserZoom has been added to the OptionalConfigs structure of the Map and LeafletMap blocks.This parameter allows developers to signal whether user zoom changes should be respected when adding, changing, or removing other markers.
ROU-4708 - Created new client actions called AddMarker / RemoveAllMarkers / RemoveMarker / SubscribeMarkerEvent / UnsubscribeMarkerEvent to create, remove and subscribe/unsubscribe events from Markers.These will help deal with a large number of markers for better runtime performance.
ROU-4708 - Improved the way a Map is obtained by its widget identifier.
ROU-4709 - Fixed an issue that caused the OutSystems Maps to write a warning on the console.This occurred when we used marker clusters since 'google.maps.event.addDomListener()' was deprecated.The 'js-markerclusterer' library was upgraded to version 2.5.3, changing how clusters are created.
google.maps.event.addDomListener()
js-markerclusterer
⚠ This new OutSystems Maps version introduces breaking changes.
ROU-4469 - Deprecated the AdvancedFormat parameter from the structure OptionalStaticMapConfigs, used in the StaticMap block.To be compliant with Content Security Policy (CSP) requirements, the usage of the eval() function will be discontinued so, consequently, this parameter will be impacted and may not function as expected.
ROU-4591 - The mechanism to translate addresses into coordinates was changed. Prior the code was using an external Google REST API, while now, it uses the available method in Google SDK (geo.geocode).
geo.geocode
ROU-4592 - Fixed an issue that caused the wrong popup to open when clicking on a marker.This occurred when a custom icon and the size (width and height) were set into a MarkerPopup, especially with many Markers on the screen.