Xyz Maps Versions Save

XYZ Maps is an open-source map editor written in TypeScript.

v0.37.0

3 weeks ago

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.

v0.36.0

5 months ago

0.36.0 (2023-12-8)

core

  • added: The "ignoreTileQueryLimit" option has been introduced to mitigate an excessive number of tile requests.

display

  • improved: The anti-aliasing for lines using floating point widths has been enhanced.
  • improved: In the visualization of clipped polygon outlines, the tile edges are excluded, regardless of whether the clipped geometry extends beyond the tile's boundaries.
  • improved: The display quality of dashed lines has been improved.
  • improved: An updated feature could experience a very brief flicker after changing the zoom level.
  • added: The alpha blending has been revamped to enable the map to display with a transparent background, allowing the remaining browser content to show through behind it. See backgroundColor. (#90)
  • added: In addition to pixels, dashed lines can now also be defined and displayed in meter units.
  • added: It is now possible to combine Images/Icons with dashed line patterns by using strokeDashimage.
  • added: Image/Icon styles now support the use of IconAtlases.
  • added: By using textAnchor it is now possible to align the text relative to the anchor point.
  • added: Introduced CollisionGroup which allows to define various CollisionGroups (multiple Styles grouped together that will be handled as a single collision object) within the same StyleGroup.
  • added: LayerStyles backgroundColor now supports dynamic colors taking zoom level into account.
  • added: Colors now support hexadecimal color strings with alpha and hexadecimal numbers as input.
  • fixed: The triggering of pointer events for 3D point geometry was inconsistent across various scenarios.
  • fixed: The tile preview is only partially displayed when zoomed out.
  • fixed: In very rare cases, Chrome could cause text to be displayed offset.
  • fixed: Using StrokeDashArray with very long lines could result in artifacts.
  • fixed: Glitches that may have appeared on the edges of previewed raster tiles have been resolved.
  • fixed: Issues with occasional tile preview display glitches have been fixed.

editor

  • improved: The createFeatureContainer function now accommodates multiple arrays of features as arguments. [fix #91]

v0.35.0

9 months ago

0.35.0 (2023-8-22)

editor

  • added: It is now possible to select multiple LineShapes/NavlinkShapes and drag them simultaneously to change position. See: shape.select(), Playground

display

  • improved: The display of preview tiles has been optimized.
  • improved: Tiles that are not part of the actual viewport but whose data is still visible due to the high altitude are now processed and displayed.
  • added: A new HeatmapStyle has been introduced, which makes it possible to visualize density maps where the data density is displayed in different colors. Playground Example
  • added: Point styles can now also be applied separately to line ranges with the anchor set to "Line".
  • fixed: Tile previews of transparent point styles may flicker for a very brief moment
  • fixed: Fixes an issue where tiles are only partially visible when the map is tilted at a steep angle.
  • fixed: The Compass UI now works properly even when the map is heavily pitched.
  • fixed: In rare cases, points may be offset if they lie exactly on a tile boundary.
  • fixed: Region-based point styles with an explicitly defined altitude are not displayed if there is no altitude in the source geometry.

v0.34.0

11 months ago

0.34.0 (2023-6-21)

editor

  • improved: The RangeSelector utility now treats RangeMarkers that are exactly on top of each other as a valid zero-length range.
  • improved: The RangeSelector utility now defines ranges with a precision of 9 decimal places.
  • fixed: Dragging the VirtualShape of a Navlink feature with 3d coordinates can result in offset geometry
  • fixed: Snapping Navlink shapes can fail when Navlink and Line features are mixed in the same layer source.
  • fixed: Turn restrictions from 3D data may be misaligned when forcing a 2D display.
  • fixed: For 3D Addresses/Places, the anchor line of routing points can be displayed incorrectly.
  • fixed: The crossing tester utility used elevation even though 2D mode was enforced.

display

  • improved: Features can now be at even higher altitudes before being clipped.
  • improved: Text placed on 3D line geometry is now properly aligned.
  • added: 3D models in Wavefront .obj format can now be placed and viewed on the map using ModelStyle.model
  • added: Alpha support for 3D Models.
  • added: 3D Models do now support ambient light, emissive light, specular highlights and normal-maps.
  • fixed: Pointer events may fire incorrectly for high altitude Spheres
  • fixed: Text placed on lines is now always rendered correctly.

common

  • added: Tasks can now be paused during runtime and resumed at any point in time.

v0.33.0

1 year ago

0.33.0 (2023-4-6)

editor

  • added: Editing of 3D LineString geometry is now automatically enforced in 2D only when using 2D styling.
  • added: The CrossingDetector utility now supports 3D line geometry and automatically switches between 2D and 3D modes based on the style used.
  • fixed: The crossing tester utility detects too many crossings when used with 3d line geometry.
  • fixed: Trigger pointerleave events for hovered features currently in submit process can fail

display

  • improved: Improved rendering of intersecting 3D Icon-styles with transparency
  • improved: The rendering of lines in 3D space has been improved
  • added: New ModelStyles have been introduced that allow features to be displayed as 3D models including lighting support.
  • added: Point and line styles can now be configured whether to scale their size based on the altitude. See: scaleByAltitude
  • added: Altitude is now taken into account when projecting a geographic coordinate in pixels.
  • fixed: Pointer events for 3d lines are now triggered correctly in intermediate zoom levels.
  • fixed: Using range based line styling can, in rare cases, lead to a crash.
  • fixed: Line ranges can be ignored if the start/end of the range is exactly on a line coordinate.
  • fixed: If longitude exceeds 180 degrees, an incorrect tile may be displayed.
  • fixed: Heavy workload/layer-setup may cause collision detection to crash
  • fixed: Searching for rendered features at a specific pixel will fail if the layers are not explicitly passed

core

  • fixed: Using custom margin was ignored when set via TileLayer constructor

v0.32.0

1 year ago

0.32.0 (2022-10-14)

editor

  • improved: Attempting to create an invalid feature using the drawing board now returns undefined.
  • added: Full 3d geometry editing support for Navlink, Address and Place Features has been added.
  • fixed: Pointerup now triggers correctly after selecting or dragging an address/place.

display

  • improved: Improved near-plane clipping of features using altitude.
  • improved: Pointer events for 2d point styles are now triggered "pixel perfect" in all cases.
  • added: Support to integrate custom renderers into the map by using CustomLayer has been added.
  • added: The map can now be pitched up to 85 degrees. see maxPitch.
  • fixed: Text placed on line geometry without collision detection was not displayed correctly

v0.31.0

1 year ago

0.31.0 (2022-8-23)

core

  • added: The ImageProvider can now be configured to display an errorImage for failing tile requests.
  • added: Introduced remote preprocessor to enable custom data processing for remote image sources.
  • added: The credentials of IMLProvider and SpaceProvider can now be updated at any time via provider.config({credentials: {...}})

editor

  • improved: The snapTolerance option is now taken into account for crossing detection.
  • fixed: Navlinks may still have been highlighted even though the intersection was no longer selected.
  • fixed: Altitude precision is reduced when restoring Navlink Features through a local undo operation.

display

  • improved: Handling of missing image tile data has been improved.
  • added: The camera (position) of the current view can now be retrieved using map.getCamera()
  • fixed: Visualizing point styles on 3D polylines fails when used in combination with collision detection.
  • fixed: 2D roads disappear when the map is pitch or rotated
  • fixed: Text placed on a polyline might be upside down

v0.30.0

1 year ago

0.30.0 (2022-8-5)

display

  • added: Box and Sphere styles now support Style.offsetX / Style.offsetY.
  • added: All Point styles can now be offset along the z-axis. See: offset.
  • added: It is now possible to specify the offset in pixels as well as meters for all point styles.
  • added: Style of type "Image" can now be offset in meters
  • fixed: Styled line segments of ring geometries were not rendered correctly.
  • fixed: Pointerevents are now triggered correctly in all cases for 3d Point styles

editor

  • added: The height of buildings can now be changed by the user using mouse or touch gestures
  • added: Support for custom set feature styles has been added and is respected when features require re-rendered due to editing operations.
  • added: The RangeSelector is now more flexible and also be used with generic LineString geometry.
  • fixed: In rare cases, stuttering could occur when dragging a RangeMarker.
  • fixed: The Range Overlapping detection now also works with specific sides.
  • fixed: Using the RangeSelector with circular topology has been improved.
  • fixed: The local edit history was possibly not correct when dragging a ShapePoint from two connected Areas.
  • fixed: dragging RangeMarkers when the map is rotated or pitched is now possible.
  • fixed: Pointer-events for Point styles that use viewport alignment may not be triggered.

core

  • added: The ImageProvider supports images contained in a 404 status response.

v0.29.0

1 year ago

0.29.0 (2022-7-13)

display

  • added: Point Styles used with line geometry now supports line segments to allow for custom placement and styling. See: Style.from / Style.to
  • fixed: The size of Spheres and Boxes is now displayed correctly in intermediate zoom levels.
  • fixed: Pointer-events for styles of type "Sphere" and "Box" were not triggered correctly.

editor

  • added: The transformer utility has been updated and now provides proportional scaling, custom styling and improved rotation handling.
  • added: EditorOptions can now be read and changed at runtime. See: editor.config
  • added: The precision of the positioning of routing points can now be configured via "routingPointPrecision" option.
  • added: The degree of simplification for drawn geometry can now be controlled via the "tolerance" option.
  • fixed: The reference point on the ground is now displayed correctly.
  • fixed: Improved handling of Marker features whose altitude is explicitly overridden by styles

v0.28.0

1 year ago

0.28.0 (2022-7-1)

editor

  • added: Tapping on LineShape or Marker features will trigger pointerdown events.
  • added: The drag behavior of Markers and LineShape features can now be configured to define the "dragAxis" or "dragPlane" on which to drag the feature.
  • added: It is now possible to use custom IDs for newly created features by using option.forceRandomFeatureId.
  • added: The altitude of Marker Features can now be modified by user interaction.
  • added: Basic editing of 3d line geometry is now possible.
  • fixed: Dragging Features with the right mouse button may result in tiny map movements.

core

  • fixed: anchor "Centroid" is now correctly declared in typescript declarations

display

  • improved: Optimized point placement for tiny polygon geometries when using style.anchor="Centroid"
  • added: Box Styles can be rotated around the z-axis.
  • added: The minimum threshold for detecting a pan or pitch map gesture can now be configured.
  • added: The altitude of point and line geometry can now be displayed in 3D space using styles of type Circle, Rectangle, Image, Text and Line. See: Style.altitude.
  • added: Pointerevent triggering now supports 3d geometry and styles.
  • added: New 3d styles of type "Sphere" and "Box" have been added.
  • fixed: The pointer-event target is now set correctly in all cases.
  • fixed: When using zLayer, an incorrect drawing order could occur in rare cases.
  • fixed: The placement of icon using different "alignments" is now correct in all cases.