Releases: heremaps/xyz-maps
Releases · heremaps/xyz-maps
v0.44.0
0.44.0 (2025-11-12)
editor
- fixed: ensure consistent styling for Line, Navlink, and Area shapes with StyleValueFunction
core
- improved: enhance robustness when handling invalid GeoJSON feature geometry
- added: Introduced TaskSequence supporting sequential execution with individual or unified priorities
display
- added: automatically fit feature geometry to rendered terrain surface. Enables on-the-fly terrain clamping regardless of real or missing altitude, allowing features to seamlessly follow the visible ground shape as terrain tiles load. Controlled via altitude: 'terrain'. See Playground
- added: Enable VerticalLine to support terrain-clamped placement and configurable altitude reference (top or base) for flexible vertical positioning.
- added: VerticalLine can now be offset (top or base) using meters in addition to pixels, allowing more precise placement in 3D space.
- added: ensure correct pointer raycasting on layers with adaptiveGrid tile LOD
- added: introduce cameraTerrainOffset option to control camera height above terrain and avoid intersection
- added: introduce FollowPathAnimationController for smooth, fluid path-following camera animations
- added: camera now always stays above terrain, preventing users from zooming below ground with smooth adaptive clamping
- added: auto-adjust camera zoom to maintain altitude above terrain when terrain data becomes available
- added: introduce setAltitude to adjust map zoom level based on a target altitude in meters
- fixed: render boxes and spheres smaller than 6px
- fixed: restore pointer events for 3D point features using screen alignment
- fixed: render boxes smaller than 6px
- fixed: correct exterior triangulation of extruded polygons with holes that could break when reverse indexing ignored hole boundaries
- fix: resolve rendering artifacts when "altitude" is not set for Box and Sphere styles.
v0.43.0
0.43.0 (2025-8-6)
editor
- added: Marker behavior now supports dragSurface: 'terrain' to enable geometry editing based on terrain elevation (Playground)
core
- fixed: prevent stalling in WebWorker-based tile loaders when requests fail
- fixed: Resolved border stitching of terrain tiles failing with empty neighbors.
display
- perf: significantly speed up terrain hit-testing and intersection computation for interactive API events
- improved: Specular highlights now render correctly on Tiles in previews and LOD scaling.
- improved: Offload collision detection to task system to reduce frame stalls under high load
- improved: Enhanced lighting for adaptive tiles
- added: Pointer events now correctly trigger for previewed or adaptively scaled tiles (far distance), enabling full interaction on high-pitch map views.
- added: implement basic 3D polygon rendering (best for moderate elevation variation)
- added: implement getTerrainPointAt method to retrieve 3D terrain position from screen coordinates
- fixed: VerticalLines using offsetZ could cause polygon misalignment in edge cases
- fixed: tile loading and LOD selection when adaptive and fixed-grid TileLayers are used together
- fixed: prevent error when adding a CustomLayer as the first map layer
- fixed: ensure styles with depthTest=false are rendered on top of transparent geometry
v0.42.0
0.42.0 (2025-7-11)
editor
- added: implemented altitude interpolation for 3D geometry applied during link splitting and road network editing in forced 2D mode
- added: Line and Navlink features now support automatic geometry simplification with distance-based tolerance, supporting both pixel and meter units. See link.simplifyGeometry.
- fixed: resolve an issue when editing intersections affects hidden roads
core
- added: introduce TerrainTileLayer for flexible 3D terrain rendering using raster heightmaps or precomputed meshes, with support for custom decoding, imagery overlays, lighting, and styling. Playground Example
- added: TileLayer and TileProviders now support attribution info with optional linked URLs, automatically displayed on the map when the respective data is visible.
display
- improved: Treat lines as solid when "strokeDasharray" is a dynamic StyleExpression and dashSize resolves to 0
- added: improve adaptive tile loading and LOD selection using pitch-based scaling and adaptive thresholds for optimal tile count
- added: accelerate visual feedback by prioritizing center tile loading
- added: 3D Models now support configurable Material.wrap for diffuse/specular/normal maps, enabling per-material texture wrapping (clamp, repeat, mirror) for enhanced UV control
- fixed: optimize projected feature bbox center to match visual center in WebMercator
- fixed: skyColor ignored when set to a solid color, only gradients are effective
- fixed: correct broken rendering of debug tile grid
- fixed: ensure singleWorldView is respected and prevent map repetition when resizing the map
common
- fixed: Ensure debug dump logger works correctly with ES2017 target
playground
- fixed: include transpiled JS in downloaded example code
v0.41.0
0.41.0 (2025-2-21)
general
- improved: Upgraded the minimum runtime JavaScript target for all packages to ES2017.
editor
- added: overlay features now auto-toggle based on edit layers visibility.
display
- improved: Enhanced balance between performance and view distance by optimizing grid size at very high pitch
- improved: Horizontal text positioning accuracy enhanced, especially with textAnchor enabled
- added: Icons/Images now support texture atlases up to 4096 pixels in size.
- added: collision detection now handles mixed tile sizes more effectively and supports tile sizes of 1024 and larger.
- added: Introduced singleWorldView option to control map view repetition on the horizontal and vertical axes, allowing control over one or both axes, or enabling infinite repetition. Playground Example
- added: add adaptive tile loading to dynamically select larger tiles from higher zoom levels for distant areas, improving performance, rendering efficiency, and viewing distance for high pitch map views.
- fixed: prevent temporary incorrect scaling of 3D Models during tile preview
- fixed: address brief flashing issue in styles rendering requiring two alpha passes
v0.40.2
0.40.2 (2024-12-10)
display
- fixed: prevent potential brief preview tile flickering for clipped data sources
editor
- fixed: clear providers after sending updates and fetch fresh data
v0.40.1
0.40.1 (2024-12-3)
display
- fixed: resolve excessive tile processing issue introduced in v0.40.0, boosting performance
v0.40.0
0.40.0 (2024-11-29)
editor
- improved: Allow customization of default RangeSelector through enhanced overlay styles.
- added: introduce getSelectedFeature method to retrieve the currently selected feature.
- added: Introduced batch editing to group multiple feature modifications into a single history entry. See batch, startBatch, endBatch, Playground Example
- fixed: Highlighted crossings links are reset in all cases.
- fixed: Ensure RangeSelector fully supports custom Navlink/Line styles and correctly handles zLayer for proper layering.
display
- improved: refined depth clipping to enhance visual quality at high pitch angles
- improved: Prevent transparency rendering issues when handling clipped data with offsets larger than remote source tile bounds.
- added: Line dashes now support dynamic StyleExpressions with intermediate zoom level support.
- added: The dynamic coloring of the horizon is now possible with LayerStyle.skyColor, including support for gradients for smooth transitions from sky to horizon
- fixed: prevent the Compass UI from causing the map view to be reset in some cases with excessive applied rotation and tilt
core
- improved: Enhanced Provider.clear to support more flexible inputs, including bounding boxes and tiles.
- added: locally cached tiles can now be queried using TileProvider.getCachedTiles
- fixed: resolve incorrect module initialization in non-browser environments like Node.js
- fixed: resolve potential rendering artifacts for huge polygons in MVT datasources
v0.39.0
0.39.0 (2024-9-6)
editor
- improved: Full support added for custom Navlink styles, which are now preserved and reapplied during re-rendering, such as in response to pointer events.
- fixed: Ensure EditRestrictions are evaluated during AreaShape drag operations
core
- fixed: ensure valid URL is used for all IMLProvider delete feature requests
- fixed: Ensure custom feature styles are fully respected when using StyleExpressions
- fixed: Ensure ClusterTileLayer properly clears and reclusters when the source data provider is cleared.
display
- added: Introduced a new lighting engine that enables advanced configuration at both the layer and style levels. For detailed setup instructions, refer to LayerStyle.lights. See Playground Example.
- added: Integrated specular lighting, shininess, and emissive properties for enhanced reflections and self-illumination. These features are applicable to various 3D styles, including extruded Polygons, Boxes, Spheres and Models.
- added: introduce fillIntensity to control color intensity of 3D styles under directional lighting
- added: Model Styles now support unclamped and extended texture coordinates.
- improved: Enhanced the visuals of Box edges for better clarity and detail.
- fixed: resolve 3D model loading issues in release builds
- fixed: ensure Shininess parameter in Wavefront OBJ materials correctly affects specular reflections
- fixed: Ensure the strokeWidth of Boxes is correctly rendered in all cases
- fixed: Trigger PointerEvents for Point Styles on Polygon geometries
- fixed: resolve slight text flickering during long animations
v0.38.0
0.38.0 (2024-7-26)
editor
- improved: Modifying building footprints now works seamlessly even when shape points are covered by building extrusions.
- fixed: correctly edit 3D LineString geometry displayed as 2D due to styling.
- fixed: Resolved issue preventing translation of 3D buildings using the Transformer utility.
display
- added: LayerStyles can now be defined in pure JSON using StyleExpressions. See Playground Example.
- added: Enabled pointer event triggering for flat 2D geometry that is positioned below but rendered on top of 3D geometry.
- improved: Enhanced "opacity" and "strokeDasharray" style properties to support StyleZoomRanges for dynamic zoom-level-based rendering.
- fixed: resolve setBackgroundColor issue with StyleZoomRange or StyleValueFunction.
- fixed: ensure correct rotation and positioning of icons along all segments of LineStrings
- fixed: Resolved alpha blending issues for colors defined as RGBA arrays.
core
- added: Add LayerStyle.zLayer for fallback drawing order control when zLayer is not explicitly defined on the style.
- added: Introduce Layer methods setVisible(visible: boolean) and isVisible() for controlling and querying layer visibility directly, complementing LayerOptions.visible without modifying layer presence on the display.
- fixed: resolve packaging issue causing excessive artifact size
v0.37.0
0.37.0 (2024-5-10)
core
- improved: Ensured that all parameters are URL encoded for both "SpaceProvider" and "IMLProvider".
- added: The new ClusterTileLayer enables efficient client-side clustering of map-data from various sources, providing optimized clusters at each zoom level, supporting dynamic feature addition/removal and customizable property aggregation for tailored data summarization and display. Playground Example
- added: Introducing the "findPath" method for optimal client-side path finding on a GeoJSON road network supporting advanced options such as custom turn restrictions and weights.
- fixed: Custom request parameters utilizing arrays are now properly URL encoded for improved reliability
display
- fixed: In cases where a particularly large dataset is frequently updated, it could lead to the display of outdated data.
- fixed: The alpha blending of heatmaps has been corrected and is now functioning as intended.
- fixed: Pointerevents at intermediate zoom levels now activate accurately when used alongside StyleZoomRanges/StyleValueFunctions.
editor
- fixed: In exceptionally rare instances, timing issues could cause inconsistent triggering of the 'ready' event.