|
| 1 | +# jlmap Feature Matrix |
| 2 | + |
| 3 | +This document compares the available features and options between the JavaFX and Vaadin versions of the jlmap project. |
| 4 | +It is intended to help users and developers understand which features are fully supported, partially supported, or not |
| 5 | +available in each version. |
| 6 | + |
| 7 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 8 | +|----------------------|:------:|:------:|---------------------------------------------------------------------------------| |
| 9 | +| Map Providers | ✅ | ✅ | OSM, MapTiler, etc. supported in both | |
| 10 | +| Add Marker | ✅ | ✅ | Both support adding/removing markers | |
| 11 | +| Add Popup | ✅ | ✅ | Both support popups | |
| 12 | +| Add Polyline | ✅ | ✅ | Both support polylines | |
| 13 | +| Add MultiPolyline | ✅ | ✅ | Both support multi-polylines | |
| 14 | +| Add Polygon | ✅ | ✅ | Both support polygons (with holes) | |
| 15 | +| Add Circle | ✅ | ✅ | Both support circles | |
| 16 | +| Add Circle Marker | ✅ | ✅ | Both support circle markers | |
| 17 | +| Add Image Overlay | ✅ | ✅ | Both support image overlays (JLImageOverlay) | |
| 18 | +| Add GeoJSON | ✅ | ✅ | Both support loading GeoJSON from URL, file, or string | |
| 19 | +| Remove Marker | ✅ | ✅ | Both support removing markers | |
| 20 | +| Remove Popup | ✅ | ✅ | Both support removing popups | |
| 21 | +| Remove Polyline | ✅ | ✅ | Both support removing polylines | |
| 22 | +| Remove Polygon | ✅ | ✅ | Both support removing polygons | |
| 23 | +| Remove Circle | ✅ | ✅ | Both support removing circles | |
| 24 | +| Remove Image Overlay | ⚠️ | ⚠️ | JavaFX: Not clearly exposed; Vaadin: not clearly exposed | |
| 25 | +| Remove GeoJSON | ✅ | ✅ | Both support removing GeoJSON by id | |
| 26 | +| Set View/Center | ✅ | ✅ | Both support setting map center | |
| 27 | +| Set Zoom | ✅ | ✅ | Both support set/zoomIn/zoomOut | |
| 28 | +| Fit Bounds | ✅ | ✅ | Both support fitBounds | |
| 29 | +| Fit World | ✅ | ✅ | Both support fitWorld | |
| 30 | +| Pan To | ✅ | ✅ | Both support panTo | |
| 31 | +| Fly To | ✅ | ✅ | Both support flyTo | |
| 32 | +| Event Listeners | ✅ | ✅ | Both support map and object event listeners | |
| 33 | +| Custom Map Options | ✅ | ✅ | Both support custom options via JLMapOption/JLOptions | |
| 34 | +| Layer Control | ⚠️ | ⚠️ | Basic support; advanced layer control (toggle, group) not fully exposed | |
| 35 | +| UI Customization | ⚠️ | ⚠️ | JavaFX: via JavaFX API; Vaadin: via Vaadin API, but not all Leaflet UI features | |
| 36 | +| Map Blur/Effects | ✅ | ❌ | JavaFX: supports blur via JavaFX; Vaadin: not available | |
| 37 | +| Responsive Layout | ✅ | ✅ | Both support responsive layouts | |
| 38 | +| Map Callbacks | ✅ | ✅ | Both support callback handlers | |
| 39 | +| Drag & Drop | ✅ | ✅ | Both support drag events for markers, etc. | |
| 40 | +| Tooltip Support | ⚠️ | ⚠️ | Not clearly exposed in API, but possible via custom JS | |
| 41 | +| Custom Icons | ✅ | ✅ | Both support custom marker icons | |
| 42 | +| Z-Index/Layer Order | ✅ | ✅ | Supported via options | |
| 43 | +| Animation | ⚠️ | ⚠️ | JavaFX: possible via JavaFX; Vaadin: limited to Leaflet/JS animations | |
| 44 | +| Print/Export | ❌ | ❌ | Not available out of the box | |
| 45 | + |
| 46 | +**Legend:** |
| 47 | + |
| 48 | +- ✅ Available |
| 49 | +- ⚠️ Partially Available (see Description/Notes) |
| 50 | +- ❌ Not Available |
| 51 | + |
| 52 | +This table is based on the current state of the codebase and may change as features are added or improved. For more |
| 53 | +details, see the API documentation or source code. |
| 54 | + |
| 55 | +# JLMarker Feature Matrix |
| 56 | + |
| 57 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 58 | +|-----------------|:------:|:------:|------------------------------------------------------| |
| 59 | +| Add Marker | ✅ | ✅ | Both support adding markers | |
| 60 | +| Remove Marker | ✅ | ✅ | Both support removing markers | |
| 61 | +| Draggable | ✅ | ✅ | Both support draggable markers | |
| 62 | +| Custom Icon | ✅ | ✅ | Both support custom marker icons | |
| 63 | +| Popup/Tooltip | ✅ | ✅ | Both support popups; tooltips possible via custom JS | |
| 64 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 65 | +| Z-Index | ✅ | ✅ | Supported via options | |
| 66 | +| Animation | ⚠️ | ⚠️ | JavaFX: possible via JavaFX; Vaadin: limited | |
| 67 | + |
| 68 | +# JLCircle Feature Matrix |
| 69 | + |
| 70 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 71 | +|-------------------|:------:|:------:|-------------------------------| |
| 72 | +| Add Circle | ✅ | ✅ | Both support adding circles | |
| 73 | +| Remove Circle | ✅ | ✅ | Both support removing circles | |
| 74 | +| Set Radius | ✅ | ✅ | Both support setting radius | |
| 75 | +| Set Center | ✅ | ✅ | Both support setting center | |
| 76 | +| Fill/Stroke Color | ✅ | ✅ | Both support via options | |
| 77 | +| Opacity | ✅ | ✅ | Both support via options | |
| 78 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 79 | + |
| 80 | +# JLCircleMarker Feature Matrix |
| 81 | + |
| 82 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 83 | +|----------------------|:------:|:------:|--------------------------------------| |
| 84 | +| Add Circle Marker | ✅ | ✅ | Both support adding circle markers | |
| 85 | +| Remove Circle Marker | ✅ | ✅ | Both support removing circle markers | |
| 86 | +| Set Radius | ✅ | ✅ | Both support setting radius | |
| 87 | +| Fill/Stroke Color | ✅ | ✅ | Both support via options | |
| 88 | +| Opacity | ✅ | ✅ | Both support via options | |
| 89 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 90 | + |
| 91 | +# JLPolyline Feature Matrix |
| 92 | + |
| 93 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 94 | +|---------------------|:------:|:------:|---------------------------------| |
| 95 | +| Add Polyline | ✅ | ✅ | Both support adding polylines | |
| 96 | +| Remove Polyline | ✅ | ✅ | Both support removing polylines | |
| 97 | +| Set Vertices | ✅ | ✅ | Both support setting vertices | |
| 98 | +| Stroke Color/Weight | ✅ | ✅ | Both support via options | |
| 99 | +| Opacity | ✅ | ✅ | Both support via options | |
| 100 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 101 | + |
| 102 | +# JLMultiPolyline Feature Matrix |
| 103 | + |
| 104 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 105 | +|----------------------|:------:|:------:|---------------------------------------| |
| 106 | +| Add MultiPolyline | ✅ | ✅ | Both support adding multi-polylines | |
| 107 | +| Remove MultiPolyline | ✅ | ✅ | Both support removing multi-polylines | |
| 108 | +| Set Vertices | ✅ | ✅ | Both support setting vertices | |
| 109 | +| Stroke Color/Weight | ✅ | ✅ | Both support via options | |
| 110 | +| Opacity | ✅ | ✅ | Both support via options | |
| 111 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 112 | + |
| 113 | +# JLPolygon Feature Matrix |
| 114 | + |
| 115 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 116 | +|-------------------|:------:|:------:|-------------------------------------------| |
| 117 | +| Add Polygon | ✅ | ✅ | Both support adding polygons (with holes) | |
| 118 | +| Remove Polygon | ✅ | ✅ | Both support removing polygons | |
| 119 | +| Set Vertices | ✅ | ✅ | Both support setting vertices | |
| 120 | +| Fill/Stroke Color | ✅ | ✅ | Both support via options | |
| 121 | +| Opacity | ✅ | ✅ | Both support via options | |
| 122 | +| Event Listeners | ✅ | ✅ | Click, drag, move, etc. | |
| 123 | + |
| 124 | +# JLImageOverlay Feature Matrix |
| 125 | + |
| 126 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 127 | +|----------------------|:------:|:------:|------------------------------------| |
| 128 | +| Add Image Overlay | ✅ | ✅ | Both support adding image overlays | |
| 129 | +| Remove Image Overlay | ⚠️ | ⚠️ | Not clearly exposed in API | |
| 130 | +| Set Bounds | ✅ | ✅ | Both support setting bounds | |
| 131 | +| Set Image URL | ✅ | ✅ | Both support setting image URL | |
| 132 | +| Opacity | ✅ | ✅ | Both support via options | |
| 133 | +| Z-Index | ✅ | ✅ | Both support via options | |
| 134 | +| Event Listeners | ❌ | ❌ | Not available | |
| 135 | + |
| 136 | +# JLGeoJson Feature Matrix |
| 137 | + |
| 138 | +| Feature/Option | JavaFX | Vaadin | Description/Notes | |
| 139 | +|-----------------|:------:|:------:|--------------------------------------------------------| |
| 140 | +| Add GeoJSON | ✅ | ✅ | Both support loading GeoJSON from URL, file, or string | |
| 141 | +| Remove GeoJSON | ✅ | ✅ | Both support removing GeoJSON by id | |
| 142 | +| Style Features | ⚠️ | ⚠️ | Limited; depends on GeoJSON content and options | |
| 143 | +| Event Listeners | ⚠️ | ⚠️ | Limited; depends on implementation | |
0 commit comments