@vcmap/ui 5.0.0-rc.30 → 5.0.0-rc.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/buildHelpers.js +4 -3
- package/config/base.config.json +5 -4
- package/config/dev.config.json +4 -0
- package/config/graphFeatureInfo.config.json +1 -1
- package/config/projects.config.json +2 -2
- package/dist/assets/cesium/ThirdParty/Workers/basis_transcoder.js +1 -1
- package/dist/assets/cesium/Workers/chunk-227AJNOA.js +59 -0
- package/dist/assets/cesium/Workers/chunk-2R5O53JW.js +157 -0
- package/dist/assets/cesium/Workers/chunk-34YUDLRP.js +781 -0
- package/dist/assets/cesium/Workers/chunk-3W63OHNJ.js +100 -0
- package/dist/assets/cesium/Workers/chunk-4MFFIWUA.js +163 -0
- package/dist/assets/cesium/Workers/chunk-66QLLS45.js +218 -0
- package/dist/assets/cesium/Workers/chunk-6BTKZDRG.js +77 -0
- package/dist/assets/cesium/Workers/chunk-A4JVFBQ3.js +101 -0
- package/dist/assets/cesium/Workers/chunk-ABADGKYE.js +58 -0
- package/dist/assets/cesium/Workers/chunk-AFFLIKOH.js +353 -0
- package/dist/assets/cesium/Workers/chunk-AHKEZ2OE.js +629 -0
- package/dist/assets/cesium/Workers/chunk-C3SXRKRW.js +476 -0
- package/dist/assets/cesium/Workers/chunk-CCFQRR6D.js +55 -0
- package/dist/assets/cesium/Workers/chunk-CHHNOC2C.js +1860 -0
- package/dist/assets/cesium/Workers/chunk-CTELOFLA.js +196 -0
- package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +3273 -0
- package/dist/assets/cesium/Workers/chunk-EW2GWJYB.js +44 -0
- package/dist/assets/cesium/Workers/chunk-GLZBE3ML.js +421 -0
- package/dist/assets/cesium/Workers/chunk-HARLBUOL.js +236 -0
- package/dist/assets/cesium/Workers/chunk-HQF437NJ.js +117 -0
- package/dist/assets/cesium/Workers/chunk-IPA4EACJ.js +368 -0
- package/dist/assets/cesium/Workers/chunk-J3JY6I2C.js +1009 -0
- package/dist/assets/cesium/Workers/chunk-JB2LWGH4.js +390 -0
- package/dist/assets/cesium/Workers/chunk-JS3AW5BK.js +634 -0
- package/dist/assets/cesium/Workers/chunk-K36FEYS7.js +452 -0
- package/dist/assets/cesium/Workers/chunk-KD4Y7CZL.js +400 -0
- package/dist/assets/cesium/Workers/chunk-KTJSNCK4.js +842 -0
- package/dist/assets/cesium/Workers/chunk-LLUNNUJV.js +258 -0
- package/dist/assets/cesium/Workers/{package.js → chunk-MPAZH4BF.js} +13 -2
- package/dist/assets/cesium/Workers/chunk-MYZB7C4T.js +1258 -0
- package/dist/assets/cesium/Workers/chunk-N3JIFFX2.js +501 -0
- package/dist/assets/cesium/Workers/chunk-O5AMBQ36.js +430 -0
- package/dist/assets/cesium/Workers/chunk-OAVNIRB4.js +124 -0
- package/dist/assets/cesium/Workers/chunk-OYFCF4PL.js +171 -0
- package/dist/assets/cesium/Workers/chunk-OZJDGN5F.js +1477 -0
- package/dist/assets/cesium/Workers/chunk-PCJWUS4M.js +2041 -0
- package/dist/assets/cesium/Workers/chunk-PFQBCKBM.js +8644 -0
- package/dist/assets/cesium/Workers/chunk-QIKODV5G.js +305 -0
- package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +73 -0
- package/dist/assets/cesium/Workers/chunk-QMEMZIJI.js +138 -0
- package/dist/assets/cesium/Workers/chunk-QT3MPEMI.js +102 -0
- package/dist/assets/cesium/Workers/chunk-RP2A7BR5.js +289 -0
- package/dist/assets/cesium/Workers/chunk-RW6LU2CJ.js +138 -0
- package/dist/assets/cesium/Workers/chunk-TFC6TZ3S.js +757 -0
- package/dist/assets/cesium/Workers/chunk-V3NGATMV.js +693 -0
- package/dist/assets/cesium/Workers/chunk-VLGOATD6.js +1075 -0
- package/dist/assets/cesium/Workers/chunk-WXTV4ATB.js +39 -0
- package/dist/assets/cesium/Workers/chunk-X4SU25DT.js +302 -0
- package/dist/assets/cesium/Workers/chunk-XTY7B2N6.js +2716 -0
- package/dist/assets/cesium/Workers/chunk-XY7MGBKC.js +513 -0
- package/dist/assets/cesium/Workers/chunk-Z24VKNDO.js +834 -0
- package/dist/assets/cesium/Workers/chunk-ZA25DG4Y.js +684 -0
- package/dist/assets/cesium/Workers/chunk-ZFOBYDGF.js +73 -0
- package/dist/assets/cesium/Workers/combineGeometry.js +65 -15
- package/dist/assets/cesium/Workers/createBoxGeometry.js +55 -10
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +231 -310
- package/dist/assets/cesium/Workers/createCircleGeometry.js +185 -202
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +141 -155
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +477 -557
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +218 -230
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1162 -1307
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +533 -569
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +57 -10
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +224 -258
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +68 -12
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +61 -12
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +56 -10
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +58 -13
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +55 -10
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +226 -243
- package/dist/assets/cesium/Workers/createGeometry.js +143 -48
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1484 -2011
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +216 -243
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +121 -113
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1041 -1327
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +516 -657
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +471 -547
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +352 -384
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +271 -295
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1128 -1331
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +445 -500
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +381 -440
- package/dist/assets/cesium/Workers/createSphereGeometry.js +112 -118
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +112 -121
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +32 -127
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +462 -505
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +377 -436
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +110 -77
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +369 -391
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +252 -244
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +543 -615
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2244 -2677
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +682 -926
- package/dist/assets/cesium/Workers/createWallGeometry.js +459 -593
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +324 -419
- package/dist/assets/cesium/Workers/decodeDraco.js +327 -347
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2530 -3567
- package/dist/assets/cesium/Workers/decodeI3S.js +765 -970
- package/dist/assets/cesium/Workers/transcodeKTX2.js +3353 -1464
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +3 -4
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +748 -953
- package/dist/assets/{cesium.eaf7cc.js → cesium.77d0f7.js} +8915 -13165
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.b16511.js → core.720589.js} +3421 -3365
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-dd539204.js +1 -0
- package/dist/assets/{ol.4bbf0f.js → ol.e48649.js} +4 -4
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.ab815e.css → ui.50452a.css} +1 -1
- package/dist/assets/{ui.ab815e.js → ui.50452a.js} +4270 -4355
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.ea3fa8.js → vuetify.f0a769.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +27 -23
- package/index.html +23 -22
- package/package.json +5 -5
- package/plugins/@vcmap-show-case/plugin-editors/PluginEditors.vue +119 -0
- package/plugins/@vcmap-show-case/plugin-editors/index.js +41 -0
- package/plugins/@vcmap-show-case/plugin-editors/package.json +5 -0
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ProjectSelectorComponent.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/config.json +2 -2
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/package.json +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/package.json +1 -1
- package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/ThemeChangerComponent.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/config.json +2 -2
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/package.json +1 -1
- package/plugins/@vcmap-show-case/vector-properties-example/vectorPropertiesExample.vue +20 -1
- package/plugins/package.json +6 -2
- package/src/application/VcsAttributions.vue +27 -20
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +22 -14
- package/src/components/form-inputs-controls/VcsSlider.vue +1 -0
- package/src/components/icons/2DAreaIcon.vue +2 -17
- package/src/components/icons/2DDistanceIcon.vue +0 -3
- package/src/components/icons/3DAreaIcon.vue +2 -17
- package/src/components/icons/3DDistanceIcon.vue +0 -3
- package/src/components/icons/3DHeightIcon.vue +0 -3
- package/src/components/icons/AngleIcon.vue +0 -1
- package/src/components/icons/AssociationsIcon.vue +1 -3
- package/src/components/icons/AxisIcon.vue +0 -4
- package/src/components/icons/BoundingBoxIcon.vue +1 -4
- package/src/components/icons/CheckboxIcon.vue +0 -2
- package/src/components/icons/CheckboxIndeterminateIcon.vue +1 -5
- package/src/components/icons/CircleIcon.vue +1 -6
- package/src/components/icons/ClippingHorizontalIcon.vue +0 -1
- package/src/components/icons/ClippingIcon.vue +0 -1
- package/src/components/icons/ClippingVerticalIcon.vue +0 -1
- package/src/components/icons/ColorPickerIcon.vue +0 -1
- package/src/components/icons/ColorSwatchIcon.vue +0 -2
- package/src/components/icons/CommentIcon.vue +0 -1
- package/src/components/icons/CompassIcon.vue +0 -2
- package/src/components/icons/ComponentsIcon.vue +0 -1
- package/src/components/icons/ConeIcon.vue +1 -4
- package/src/components/icons/DimensionsHouseIcon.vue +0 -2
- package/src/components/icons/EditIcon.vue +0 -1
- package/src/components/icons/EditVerticesIcon.vue +0 -4
- package/src/components/icons/ElevationProfileIcon.vue +1 -13
- package/src/components/icons/ExportAreaIcon.vue +0 -1
- package/src/components/icons/ExportFlightIcon.vue +0 -1
- package/src/components/icons/ExportIcon.vue +12 -8
- package/src/components/icons/ExternalLinkIcon.vue +0 -2
- package/src/components/icons/FastForwardIcon.vue +0 -1
- package/src/components/icons/FilterIcon.vue +0 -1
- package/src/components/icons/GlobeNatureIcon.vue +0 -3
- package/src/components/icons/GroundIcon.vue +0 -1
- package/src/components/icons/HealthCareIndustriesIcon.vue +1 -11
- package/src/components/icons/HideIcon.vue +0 -1
- package/src/components/icons/HomePointIcon.vue +0 -1
- package/src/components/icons/HospitalsIcon.vue +1 -20
- package/src/components/icons/HouseIcon.vue +3 -13
- package/src/components/icons/ImportIcon.vue +6 -14
- package/src/components/icons/InfoIcon.vue +0 -2
- package/src/components/icons/KebabIcon.vue +1 -9
- package/src/components/icons/LabelIcon.vue +0 -2
- package/src/components/icons/LayersIcon.vue +1 -9
- package/src/components/icons/LegendIcon.vue +0 -1
- package/src/components/icons/LineIcon.vue +0 -2
- package/src/components/icons/LinkIcon.vue +0 -1
- package/src/components/icons/LogoutIcon.vue +0 -1
- package/src/components/icons/MapIcon.vue +0 -2
- package/src/components/icons/MenuIcon.vue +1 -5
- package/src/components/icons/MinusIcon.vue +0 -2
- package/src/components/icons/ObjectSelectIcon.vue +0 -2
- package/src/components/icons/ObliqueViewIcon.vue +0 -1
- package/src/components/icons/PdfIcon.vue +0 -1
- package/src/components/icons/PedestrianIcon.vue +0 -1
- package/src/components/icons/PenIcon.vue +0 -1
- package/src/components/icons/PlayCircleIcon.vue +1 -8
- package/src/components/icons/PlusIcon.vue +0 -2
- package/src/components/icons/PoiIcon.vue +0 -1
- package/src/components/icons/PointIcon.vue +2 -6
- package/src/components/icons/PointSelectIcon.vue +0 -1
- package/src/components/icons/PresentationModeIcon.vue +0 -1
- package/src/components/icons/ProgressIcon.vue +1 -1
- package/src/components/icons/QueryIcon.vue +0 -1
- package/src/components/icons/RectangleIcon.vue +1 -6
- package/src/components/icons/ReturnIcon.vue +0 -1
- package/src/components/icons/RewindIcon.vue +0 -1
- package/src/components/icons/RotateLeftIcon.vue +0 -1
- package/src/components/icons/RotateRightIcon.vue +0 -1
- package/src/components/icons/ScreenshotIcon.vue +1 -6
- package/src/components/icons/SearchIcon.vue +0 -1
- package/src/components/icons/ShadowIcon.vue +0 -2
- package/src/components/icons/ShapesIcon.vue +1 -4
- package/src/components/icons/ShareIcon.vue +0 -1
- package/src/components/icons/SimpleCircleFilledIcon.vue +0 -1
- package/src/components/icons/SimpleCircleHalfFilledIcon.vue +0 -1
- package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -7
- package/src/components/icons/SkipPreviousIcon.vue +1 -6
- package/src/components/icons/SplitViewIcon.vue +0 -1
- package/src/components/icons/TextStyleIcon.vue +0 -3
- package/src/components/icons/ThreeDimensionsIcon.vue +0 -1
- package/src/components/icons/ToolsIcon.vue +0 -1
- package/src/components/icons/TouchIcon.vue +0 -1
- package/src/components/icons/TriangleIcon.vue +0 -3
- package/src/components/icons/TwoDimensionsIcon.vue +0 -2
- package/src/components/icons/UploadIcon.vue +0 -1
- package/src/components/icons/UserProfileIcon.vue +0 -1
- package/src/components/icons/UserShareIcon.vue +0 -1
- package/src/components/icons/ViewpointFlightIcon.vue +0 -1
- package/src/components/icons/ViewpointIcon.vue +0 -1
- package/src/components/icons/Viewshed360Icon.vue +0 -1
- package/src/components/icons/ViewshedConeIcon.vue +0 -1
- package/src/components/icons/ViewshedIcon.vue +0 -1
- package/src/components/icons/WalkingIcon.vue +0 -1
- package/src/components/icons/WallIcon.vue +1 -4
- package/src/components/icons/WandIcon.vue +22 -70
- package/src/components/lists/VcsList.vue +18 -12
- package/src/components/plugins/AbstractConfigEditor.vue +2 -2
- package/src/components/tables/VcsDataTable.vue +1 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +57 -14
- package/src/contentTree/contentTreeCollection.js +30 -9
- package/src/i18n/de.js +8 -5
- package/src/i18n/en.js +8 -5
- package/src/i18n/i18nCollection.js +19 -65
- package/src/manager/buttonManager.js +4 -0
- package/src/manager/contextMenu/contextMenuManager.js +2 -0
- package/src/pluginHelper.js +2 -2
- package/src/vcsUiApp.js +9 -4
- package/src/vuePlugins/i18n.js +0 -8
- package/dist/assets/cesium/ThirdParty/Workers/draco_decoder_nodejs.js +0 -117
- package/dist/assets/cesium/Workers/ArcType-2d9abbbc.js +0 -37
- package/dist/assets/cesium/Workers/AttributeCompression-f9f6c717.js +0 -716
- package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-4140c51f.js +0 -258
- package/dist/assets/cesium/Workers/BoundingRectangle-c714b156.js +0 -369
- package/dist/assets/cesium/Workers/BoxGeometry-6f3da43d.js +0 -884
- package/dist/assets/cesium/Workers/Check-6ede7e26.js +0 -290
- package/dist/assets/cesium/Workers/Color-8a565ff2.js +0 -2262
- package/dist/assets/cesium/Workers/ComponentDatatype-cf1fa08e.js +0 -341
- package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4b4d4096.js +0 -132
- package/dist/assets/cesium/Workers/CorridorGeometryLibrary-7b94502b.js +0 -498
- package/dist/assets/cesium/Workers/CylinderGeometry-ca070b87.js +0 -467
- package/dist/assets/cesium/Workers/CylinderGeometryLibrary-7bf291b4.js +0 -63
- package/dist/assets/cesium/Workers/EllipseGeometry-122e51fa.js +0 -1304
- package/dist/assets/cesium/Workers/EllipseGeometryLibrary-4d326efc.js +0 -366
- package/dist/assets/cesium/Workers/EllipseOutlineGeometry-16cc2bd7.js +0 -443
- package/dist/assets/cesium/Workers/EllipsoidGeodesic-5b3623dc.js +0 -520
- package/dist/assets/cesium/Workers/EllipsoidGeometry-cb148ca2.js +0 -637
- package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-0fa10c79.js +0 -454
- package/dist/assets/cesium/Workers/EllipsoidRhumbLine-ef872433.js +0 -741
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-6dd1b7af.js +0 -373
- package/dist/assets/cesium/Workers/EncodedCartesian3-57415c8a.js +0 -171
- package/dist/assets/cesium/Workers/FrustumGeometry-ee73037c.js +0 -2540
- package/dist/assets/cesium/Workers/GeometryAttribute-ff5b4fb1.js +0 -619
- package/dist/assets/cesium/Workers/GeometryAttributes-ad136444.js +0 -91
- package/dist/assets/cesium/Workers/GeometryInstance-34d9e21e.js +0 -121
- package/dist/assets/cesium/Workers/GeometryOffsetAttribute-9ad0019c.js +0 -16
- package/dist/assets/cesium/Workers/GeometryPipeline-1f8fbf05.js +0 -3690
- package/dist/assets/cesium/Workers/IndexDatatype-2643aa47.js +0 -200
- package/dist/assets/cesium/Workers/IntersectionTests-70d39ba9.js +0 -1836
- package/dist/assets/cesium/Workers/Math-0a2ac845.js +0 -1340
- package/dist/assets/cesium/Workers/Matrix2-e1298525.js +0 -7086
- package/dist/assets/cesium/Workers/Matrix3-41c58dde.js +0 -4283
- package/dist/assets/cesium/Workers/OrientedBoundingBox-159cf1d6.js +0 -1259
- package/dist/assets/cesium/Workers/Plane-4c3d403b.js +0 -309
- package/dist/assets/cesium/Workers/PolygonGeometryLibrary-076a5d25.js +0 -1074
- package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +0 -1344
- package/dist/assets/cesium/Workers/PolylinePipeline-639192e0.js +0 -573
- package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-b73549fb.js +0 -781
- package/dist/assets/cesium/Workers/PrimitivePipeline-10ede1b6.js +0 -966
- package/dist/assets/cesium/Workers/RectangleGeometryLibrary-c35a7356.js +0 -280
- package/dist/assets/cesium/Workers/RuntimeError-ef395448.js +0 -68
- package/dist/assets/cesium/Workers/TerrainEncoding-668d242f.js +0 -1227
- package/dist/assets/cesium/Workers/Transforms-a2a85221.js +0 -14712
- package/dist/assets/cesium/Workers/VertexFormat-030f11ff.js +0 -312
- package/dist/assets/cesium/Workers/WallGeometryLibrary-1938bf0d.js +0 -211
- package/dist/assets/cesium/Workers/WebGLConstants-0b1ce7ba.js +0 -620
- package/dist/assets/cesium/Workers/WebMercatorProjection-13ed1a6e.js +0 -151
- package/dist/assets/cesium/Workers/arrayRemoveDuplicates-d2061e85.js +0 -129
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +0 -1363
- package/dist/assets/cesium/Workers/combine-d9581036.js +0 -82
- package/dist/assets/cesium/Workers/defaultValue-fe22d8c0.js +0 -51
- package/dist/assets/index-c115e3a1.js +0 -1
- package/plugins/@vcmap/create-link/fallbackCreateLink.vue +0 -76
- package/plugins/@vcmap/create-link/index.js +0 -95
- package/plugins/@vcmap/create-link/package.json +0 -6
- package/plugins/@vcmap/search-nominatim/LICENSE.md +0 -13
- package/plugins/@vcmap/search-nominatim/README.md +0 -3
- package/plugins/@vcmap/search-nominatim/SearchNominatimEditor.vue +0 -90
- package/plugins/@vcmap/search-nominatim/config.json +0 -3
- package/plugins/@vcmap/search-nominatim/index.js +0 -66
- package/plugins/@vcmap/search-nominatim/nominatim.js +0 -175
- package/plugins/@vcmap/search-nominatim/package.json +0 -9
- /package/dist/assets/{vue.67e80f.js → vue.5d696e.js} +0 -0
- /package/dist/assets/{vuetify.ea3fa8.css → vuetify.f0a769.css} +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ModulesListComponent.vue +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/de.json +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/en.json +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/index.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/SimpleGraphComponent.vue +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/index.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/simpleGraphView.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/index.js +0 -0
@@ -1,82 +0,0 @@
|
|
1
|
-
define(['exports', './defaultValue-fe22d8c0'], (function (exports, defaultValue) { 'use strict';
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Merges two objects, copying their properties onto a new combined object. When two objects have the same
|
5
|
-
* property, the value of the property on the first object is used. If either object is undefined,
|
6
|
-
* it will be treated as an empty object.
|
7
|
-
*
|
8
|
-
* @example
|
9
|
-
* const object1 = {
|
10
|
-
* propOne : 1,
|
11
|
-
* propTwo : {
|
12
|
-
* value1 : 10
|
13
|
-
* }
|
14
|
-
* }
|
15
|
-
* const object2 = {
|
16
|
-
* propTwo : 2
|
17
|
-
* }
|
18
|
-
* const final = Cesium.combine(object1, object2);
|
19
|
-
*
|
20
|
-
* // final === {
|
21
|
-
* // propOne : 1,
|
22
|
-
* // propTwo : {
|
23
|
-
* // value1 : 10
|
24
|
-
* // }
|
25
|
-
* // }
|
26
|
-
*
|
27
|
-
* @param {object} [object1] The first object to merge.
|
28
|
-
* @param {object} [object2] The second object to merge.
|
29
|
-
* @param {boolean} [deep=false] Perform a recursive merge.
|
30
|
-
* @returns {object} The combined object containing all properties from both objects.
|
31
|
-
*
|
32
|
-
* @function
|
33
|
-
*/
|
34
|
-
function combine(object1, object2, deep) {
|
35
|
-
deep = defaultValue.defaultValue(deep, false);
|
36
|
-
|
37
|
-
const result = {};
|
38
|
-
|
39
|
-
const object1Defined = defaultValue.defined(object1);
|
40
|
-
const object2Defined = defaultValue.defined(object2);
|
41
|
-
let property;
|
42
|
-
let object1Value;
|
43
|
-
let object2Value;
|
44
|
-
if (object1Defined) {
|
45
|
-
for (property in object1) {
|
46
|
-
if (object1.hasOwnProperty(property)) {
|
47
|
-
object1Value = object1[property];
|
48
|
-
if (
|
49
|
-
object2Defined &&
|
50
|
-
deep &&
|
51
|
-
typeof object1Value === "object" &&
|
52
|
-
object2.hasOwnProperty(property)
|
53
|
-
) {
|
54
|
-
object2Value = object2[property];
|
55
|
-
if (typeof object2Value === "object") {
|
56
|
-
result[property] = combine(object1Value, object2Value, deep);
|
57
|
-
} else {
|
58
|
-
result[property] = object1Value;
|
59
|
-
}
|
60
|
-
} else {
|
61
|
-
result[property] = object1Value;
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
65
|
-
}
|
66
|
-
if (object2Defined) {
|
67
|
-
for (property in object2) {
|
68
|
-
if (
|
69
|
-
object2.hasOwnProperty(property) &&
|
70
|
-
!result.hasOwnProperty(property)
|
71
|
-
) {
|
72
|
-
object2Value = object2[property];
|
73
|
-
result[property] = object2Value;
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}
|
77
|
-
return result;
|
78
|
-
}
|
79
|
-
|
80
|
-
exports.combine = combine;
|
81
|
-
|
82
|
-
}));
|
@@ -1,51 +0,0 @@
|
|
1
|
-
define(['exports'], (function (exports) { 'use strict';
|
2
|
-
|
3
|
-
/**
|
4
|
-
* @function
|
5
|
-
*
|
6
|
-
* @param {*} value The object.
|
7
|
-
* @returns {boolean} Returns true if the object is defined, returns false otherwise.
|
8
|
-
*
|
9
|
-
* @example
|
10
|
-
* if (Cesium.defined(positions)) {
|
11
|
-
* doSomething();
|
12
|
-
* } else {
|
13
|
-
* doSomethingElse();
|
14
|
-
* }
|
15
|
-
*/
|
16
|
-
function defined(value) {
|
17
|
-
return value !== undefined && value !== null;
|
18
|
-
}
|
19
|
-
|
20
|
-
/**
|
21
|
-
* Returns the first parameter if not undefined, otherwise the second parameter.
|
22
|
-
* Useful for setting a default value for a parameter.
|
23
|
-
*
|
24
|
-
* @function
|
25
|
-
*
|
26
|
-
* @param {*} a
|
27
|
-
* @param {*} b
|
28
|
-
* @returns {*} Returns the first parameter if not undefined, otherwise the second parameter.
|
29
|
-
*
|
30
|
-
* @example
|
31
|
-
* param = Cesium.defaultValue(param, 'default');
|
32
|
-
*/
|
33
|
-
function defaultValue(a, b) {
|
34
|
-
if (a !== undefined && a !== null) {
|
35
|
-
return a;
|
36
|
-
}
|
37
|
-
return b;
|
38
|
-
}
|
39
|
-
|
40
|
-
/**
|
41
|
-
* A frozen empty object that can be used as the default value for options passed as
|
42
|
-
* an object literal.
|
43
|
-
* @type {object}
|
44
|
-
* @memberof defaultValue
|
45
|
-
*/
|
46
|
-
defaultValue.EMPTY_OBJECT = Object.freeze({});
|
47
|
-
|
48
|
-
exports.defaultValue = defaultValue;
|
49
|
-
exports.defined = defined;
|
50
|
-
|
51
|
-
}));
|
@@ -1 +0,0 @@
|
|
1
|
-
import{initAppFromAppConfig as p}from"./ui.ab815e.js";p("#app","app.config.json");
|
@@ -1,76 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<v-sheet class="d-flex flew-row align-center pl-2 pr-2">
|
3
|
-
<VcsTextField :value="localLink" class="d-flex col-10 pa-0 mr-2" />
|
4
|
-
<div class="d-flex col-2 justify-end pa-0">
|
5
|
-
<VcsButton
|
6
|
-
icon="mdi-content-copy"
|
7
|
-
class="mr-2"
|
8
|
-
@click="copy"
|
9
|
-
:title="$t('createLink.copyToClipboard')"
|
10
|
-
/>
|
11
|
-
<VcsButton
|
12
|
-
icon="mdi-refresh"
|
13
|
-
class="mr-2"
|
14
|
-
@click="refresh"
|
15
|
-
:title="$t('createLink.refreshTooltip')"
|
16
|
-
/>
|
17
|
-
</div>
|
18
|
-
</v-sheet>
|
19
|
-
</template>
|
20
|
-
|
21
|
-
<script>
|
22
|
-
import { VSheet } from 'vuetify/lib';
|
23
|
-
import {
|
24
|
-
VcsTextField,
|
25
|
-
VcsButton,
|
26
|
-
setStateToUrl,
|
27
|
-
NotificationType,
|
28
|
-
} from '@vcmap/ui';
|
29
|
-
import { getCurrentInstance, inject, ref } from 'vue';
|
30
|
-
|
31
|
-
export default {
|
32
|
-
name: 'FallbackCreateLink',
|
33
|
-
props: {
|
34
|
-
link: {
|
35
|
-
type: String,
|
36
|
-
required: true,
|
37
|
-
},
|
38
|
-
},
|
39
|
-
components: {
|
40
|
-
VcsTextField,
|
41
|
-
VcsButton,
|
42
|
-
VSheet,
|
43
|
-
},
|
44
|
-
setup(props) {
|
45
|
-
const localLink = ref(props.link);
|
46
|
-
const app = inject('vcsApp');
|
47
|
-
|
48
|
-
const { proxy } = getCurrentInstance();
|
49
|
-
const copy = () => {
|
50
|
-
const element = proxy.$el.querySelector('input');
|
51
|
-
element.select();
|
52
|
-
document.execCommand('copy');
|
53
|
-
app.notifier.add({
|
54
|
-
title: 'createLink.title',
|
55
|
-
message: 'createLink.copied',
|
56
|
-
type: NotificationType.SUCCESS,
|
57
|
-
});
|
58
|
-
};
|
59
|
-
|
60
|
-
const refresh = async () => {
|
61
|
-
const state = await app.getState(true);
|
62
|
-
const url = new URL(window.location.href);
|
63
|
-
setStateToUrl(state, url);
|
64
|
-
localLink.value = url.toString();
|
65
|
-
};
|
66
|
-
|
67
|
-
return {
|
68
|
-
copy,
|
69
|
-
refresh,
|
70
|
-
localLink,
|
71
|
-
};
|
72
|
-
},
|
73
|
-
};
|
74
|
-
</script>
|
75
|
-
|
76
|
-
<style scoped></style>
|
@@ -1,95 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
ButtonLocation,
|
3
|
-
NotificationType,
|
4
|
-
setStateToUrl,
|
5
|
-
WindowSlot,
|
6
|
-
} from '@vcmap/ui';
|
7
|
-
import FallbackCreateLink from './fallbackCreateLink.vue';
|
8
|
-
|
9
|
-
const name = '@vcmap/create-link';
|
10
|
-
const fallBackWindowId = 'create-link-fallback-window';
|
11
|
-
function createFallbackWindow(app, link) {
|
12
|
-
app.windowManager.remove(fallBackWindowId);
|
13
|
-
app.windowManager.add(
|
14
|
-
{
|
15
|
-
id: fallBackWindowId,
|
16
|
-
component: FallbackCreateLink,
|
17
|
-
slot: WindowSlot.DYNAMIC_RIGHT,
|
18
|
-
state: {
|
19
|
-
headerTitle: 'createLink.windowTitle',
|
20
|
-
headerIcon: 'mdi-share-variant',
|
21
|
-
},
|
22
|
-
props: {
|
23
|
-
link,
|
24
|
-
},
|
25
|
-
},
|
26
|
-
name,
|
27
|
-
);
|
28
|
-
}
|
29
|
-
|
30
|
-
export default function createLink() {
|
31
|
-
return {
|
32
|
-
name,
|
33
|
-
version: '1.0.0',
|
34
|
-
i18n: {
|
35
|
-
de: {
|
36
|
-
createLink: {
|
37
|
-
title: 'Link kopieren',
|
38
|
-
windowTitle: 'Anwendungslink',
|
39
|
-
tooltip: 'Dialog zum Kopieren des Anwendungslinks anzeigen',
|
40
|
-
copyToClipboard: 'Anwendungslinks in Zwischenablage kopieren',
|
41
|
-
refreshTooltip: 'Anwendungslinks aktualisieren',
|
42
|
-
copied: 'Der Anwendungslink in wurde in die Zwischenablage kopiert.',
|
43
|
-
},
|
44
|
-
},
|
45
|
-
en: {
|
46
|
-
createLink: {
|
47
|
-
title: 'Copy link',
|
48
|
-
windowTitle: 'Application link',
|
49
|
-
tooltip: 'Open dialog to copy application link to clipboard',
|
50
|
-
copyToClipboard: 'Copy application link to clipboard',
|
51
|
-
refreshTooltip: 'Refresh application link',
|
52
|
-
copied: 'Application link copied to clipboard.',
|
53
|
-
},
|
54
|
-
},
|
55
|
-
},
|
56
|
-
/**
|
57
|
-
* @param {VcsUiApp} app
|
58
|
-
*/
|
59
|
-
initialize(app) {
|
60
|
-
const title = navigator.clipboard
|
61
|
-
? 'createLink.copyToClipboard'
|
62
|
-
: 'createLink.tooltip';
|
63
|
-
|
64
|
-
app.navbarManager.add(
|
65
|
-
{
|
66
|
-
action: {
|
67
|
-
name: 'createLink.title',
|
68
|
-
title,
|
69
|
-
icon: 'mdi-share-variant',
|
70
|
-
/**
|
71
|
-
* @returns {Promise<void>}
|
72
|
-
*/
|
73
|
-
async callback() {
|
74
|
-
const state = await app.getState(true);
|
75
|
-
const url = new URL(window.location.href);
|
76
|
-
setStateToUrl(state, url);
|
77
|
-
if (navigator.clipboard) {
|
78
|
-
await navigator.clipboard.writeText(url.toString());
|
79
|
-
app.notifier.add({
|
80
|
-
title: 'createLink.title',
|
81
|
-
message: 'createLink.copied',
|
82
|
-
type: NotificationType.SUCCESS,
|
83
|
-
});
|
84
|
-
} else {
|
85
|
-
createFallbackWindow(app, url.toString());
|
86
|
-
}
|
87
|
-
},
|
88
|
-
},
|
89
|
-
},
|
90
|
-
name,
|
91
|
-
ButtonLocation.SHARE,
|
92
|
-
);
|
93
|
-
},
|
94
|
-
};
|
95
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
Copyright 2022 support@vc.systems
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
4
|
-
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
5
|
-
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
6
|
-
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
7
|
-
|
8
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
9
|
-
|
10
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
11
|
-
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
12
|
-
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
13
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,90 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<AbstractConfigEditor @submit="apply" v-bind="{ ...$attrs, ...$props }">
|
3
|
-
<v-container class="py-0 px-1">
|
4
|
-
<v-row
|
5
|
-
no-gutters
|
6
|
-
v-for="key in ['url', 'state', 'city', 'countryCode']"
|
7
|
-
:key="key"
|
8
|
-
>
|
9
|
-
<v-col>
|
10
|
-
<VcsLabel :html-for="key" dense>
|
11
|
-
{{ $t(`searchNominatim.${key}`) }}
|
12
|
-
</VcsLabel>
|
13
|
-
</v-col>
|
14
|
-
<v-col>
|
15
|
-
<VcsTextField
|
16
|
-
:id="key"
|
17
|
-
clearable
|
18
|
-
dense
|
19
|
-
v-model.trim="localConfig[key]"
|
20
|
-
/>
|
21
|
-
</v-col>
|
22
|
-
</v-row>
|
23
|
-
<!-- XXX extent -->
|
24
|
-
<v-row no-gutters>
|
25
|
-
<v-col>
|
26
|
-
<VcsLabel html-for="limit" dense>
|
27
|
-
{{ $t('searchNominatim.limit') }}
|
28
|
-
</VcsLabel>
|
29
|
-
</v-col>
|
30
|
-
<v-col>
|
31
|
-
<VcsTextField
|
32
|
-
id="limit"
|
33
|
-
clearable
|
34
|
-
dense
|
35
|
-
type="number"
|
36
|
-
v-model.number="localConfig.limit"
|
37
|
-
/>
|
38
|
-
</v-col>
|
39
|
-
</v-row>
|
40
|
-
</v-container>
|
41
|
-
</AbstractConfigEditor>
|
42
|
-
</template>
|
43
|
-
|
44
|
-
<script>
|
45
|
-
import { VContainer, VRow, VCol } from 'vuetify/lib';
|
46
|
-
import { VcsLabel, VcsTextField, AbstractConfigEditor } from '@vcmap/ui';
|
47
|
-
import { ref } from 'vue';
|
48
|
-
import Nominatim from './nominatim.js';
|
49
|
-
|
50
|
-
export default {
|
51
|
-
name: 'SearchNominatimEditor',
|
52
|
-
title: 'Search Nominatim Editor',
|
53
|
-
components: {
|
54
|
-
VContainer,
|
55
|
-
VRow,
|
56
|
-
VCol,
|
57
|
-
AbstractConfigEditor,
|
58
|
-
VcsLabel,
|
59
|
-
VcsTextField,
|
60
|
-
},
|
61
|
-
props: {
|
62
|
-
getConfig: {
|
63
|
-
type: Function,
|
64
|
-
required: true,
|
65
|
-
},
|
66
|
-
setConfig: {
|
67
|
-
type: Function,
|
68
|
-
required: true,
|
69
|
-
},
|
70
|
-
},
|
71
|
-
setup(props) {
|
72
|
-
const localConfig = ref({});
|
73
|
-
const defaultOptions = Nominatim.getDefaultOptions();
|
74
|
-
props.getConfig().then((config) => {
|
75
|
-
localConfig.value = Object.assign(defaultOptions, config);
|
76
|
-
});
|
77
|
-
|
78
|
-
const apply = async () => {
|
79
|
-
await props.setConfig(localConfig.value);
|
80
|
-
};
|
81
|
-
|
82
|
-
return {
|
83
|
-
localConfig,
|
84
|
-
apply,
|
85
|
-
};
|
86
|
-
},
|
87
|
-
};
|
88
|
-
</script>
|
89
|
-
|
90
|
-
<style scoped></style>
|
@@ -1,66 +0,0 @@
|
|
1
|
-
import { version, name } from './package.json';
|
2
|
-
import Nominatim from './nominatim.js';
|
3
|
-
import SearchNominatimEditor from './SearchNominatimEditor.vue';
|
4
|
-
|
5
|
-
/**
|
6
|
-
* @param {NominatimSearchOptions} config - the configuration of this plugin instance, passed in from the app.
|
7
|
-
* @returns {import("@vcmap/ui/src/vcsUiApp").VcsPlugin<T>}
|
8
|
-
* @template {Object} T
|
9
|
-
* @template {Object} S
|
10
|
-
*/
|
11
|
-
export default function searchNominatim(config) {
|
12
|
-
return {
|
13
|
-
_instance: null,
|
14
|
-
_app: null,
|
15
|
-
get name() {
|
16
|
-
return name;
|
17
|
-
},
|
18
|
-
get version() {
|
19
|
-
return version;
|
20
|
-
},
|
21
|
-
/**
|
22
|
-
* @param {import("@vcmap/ui").VcsUiApp} vcsUiApp
|
23
|
-
*/
|
24
|
-
initialize(vcsUiApp) {
|
25
|
-
this._instance = new Nominatim(config);
|
26
|
-
this._app = vcsUiApp;
|
27
|
-
vcsUiApp.search.add(this._instance, name);
|
28
|
-
},
|
29
|
-
/**
|
30
|
-
* @returns {NominatimSearchOptions}
|
31
|
-
*/
|
32
|
-
toJSON() {
|
33
|
-
return this._instance.toJSON();
|
34
|
-
},
|
35
|
-
getDefaultOptions() {
|
36
|
-
return Nominatim.getDefaultOptions();
|
37
|
-
},
|
38
|
-
getConfigEditors() {
|
39
|
-
return [{ component: SearchNominatimEditor }];
|
40
|
-
},
|
41
|
-
i18n: {
|
42
|
-
de: {
|
43
|
-
searchNominatim: {
|
44
|
-
name: 'Name',
|
45
|
-
url: 'URL zu Nominatim',
|
46
|
-
state: 'Bundesland',
|
47
|
-
city: 'Stadt',
|
48
|
-
countryCode: 'Ländercode',
|
49
|
-
limit: 'Maximale Anzahl Resultate',
|
50
|
-
bbox: 'Bounding Box',
|
51
|
-
},
|
52
|
-
},
|
53
|
-
en: {
|
54
|
-
searchNominatim: {
|
55
|
-
name: 'Name',
|
56
|
-
url: 'URL to Nominatim',
|
57
|
-
state: 'State',
|
58
|
-
city: 'City',
|
59
|
-
countryCode: 'Country Code',
|
60
|
-
limit: 'Maximum number of results',
|
61
|
-
bbox: 'Bounding Box',
|
62
|
-
},
|
63
|
-
},
|
64
|
-
},
|
65
|
-
};
|
66
|
-
}
|
@@ -1,175 +0,0 @@
|
|
1
|
-
import { Extent, parseGeoJSON, wgs84Projection } from '@vcmap/core';
|
2
|
-
import {
|
3
|
-
AddressBalloonFeatureInfoView,
|
4
|
-
featureInfoViewSymbol,
|
5
|
-
} from '@vcmap/ui';
|
6
|
-
|
7
|
-
/**
|
8
|
-
*
|
9
|
-
* @param {Object} item - response item from the search request
|
10
|
-
* @returns {ResultItem}
|
11
|
-
*/
|
12
|
-
function createResultItem(item) {
|
13
|
-
const data = parseGeoJSON(item.geojson);
|
14
|
-
const feature = data.features[0];
|
15
|
-
feature.setProperties(item.address);
|
16
|
-
const title = item.display_name;
|
17
|
-
feature[featureInfoViewSymbol] = new AddressBalloonFeatureInfoView({
|
18
|
-
type: 'AddressBalloonFeatureInfoView',
|
19
|
-
name: 'NominatimSearchBalloon',
|
20
|
-
balloonSubtitle: '',
|
21
|
-
addressName: 'building',
|
22
|
-
street: 'road',
|
23
|
-
number: 'house_number',
|
24
|
-
city: 'city',
|
25
|
-
zip: 'postcode',
|
26
|
-
country: 'country',
|
27
|
-
});
|
28
|
-
|
29
|
-
return {
|
30
|
-
title,
|
31
|
-
feature,
|
32
|
-
};
|
33
|
-
}
|
34
|
-
|
35
|
-
/**
|
36
|
-
* @typedef {Object} NominatimSearchOptions
|
37
|
-
* @property {string} [name="Nominatim"]
|
38
|
-
* @property {string} [url="https://nominatim.openstreetmap.org/search"]
|
39
|
-
* @property {string|undefined} city
|
40
|
-
* @property {string|undefined} state
|
41
|
-
* @property {string|undefined} [countrycode="de"]
|
42
|
-
* @property {import("@vcmap/core").Extent.Options|undefined} extent
|
43
|
-
* @property {number|undefined} [limit=20]
|
44
|
-
* @api
|
45
|
-
*/
|
46
|
-
|
47
|
-
/**
|
48
|
-
* @class
|
49
|
-
* @implements {SearchImpl}
|
50
|
-
*/
|
51
|
-
class Nominatim {
|
52
|
-
/**
|
53
|
-
* @returns {NominatimSearchOptions}
|
54
|
-
*/
|
55
|
-
static getDefaultOptions() {
|
56
|
-
return {
|
57
|
-
name: 'Nominatim',
|
58
|
-
url: 'https://nominatim.openstreetmap.org/search',
|
59
|
-
city: undefined,
|
60
|
-
state: undefined,
|
61
|
-
countrycode: 'de',
|
62
|
-
extent: undefined,
|
63
|
-
limit: 20,
|
64
|
-
};
|
65
|
-
}
|
66
|
-
|
67
|
-
/**
|
68
|
-
* @param {NominatimSearchOptions} options
|
69
|
-
*/
|
70
|
-
constructor(options) {
|
71
|
-
/**
|
72
|
-
* @type {NominatimSearchOptions}
|
73
|
-
*/
|
74
|
-
const defaultOptions = Nominatim.getDefaultOptions();
|
75
|
-
|
76
|
-
/** @type {string|null} */
|
77
|
-
this.name = options.name ?? defaultOptions.name;
|
78
|
-
|
79
|
-
/** @type {string|Object} */
|
80
|
-
this.url = options.url ?? defaultOptions.url;
|
81
|
-
|
82
|
-
/** @type {string|null} */
|
83
|
-
this.city = options.city ?? null;
|
84
|
-
|
85
|
-
/** @type {string|null} */
|
86
|
-
this.state = options.state ?? null;
|
87
|
-
|
88
|
-
/** @type {string} */
|
89
|
-
this.countrycode = options.countrycode ?? defaultOptions.countrycode;
|
90
|
-
|
91
|
-
/** @type {import("@vcmap/core").Extent|null} */
|
92
|
-
this.extent = options.extent ? new Extent(options.extent) : null;
|
93
|
-
|
94
|
-
/** @type {number} */
|
95
|
-
this.limit = options.limit ?? defaultOptions.limit;
|
96
|
-
/**
|
97
|
-
* @type {AbortController}
|
98
|
-
* @private
|
99
|
-
*/
|
100
|
-
this._controller = new AbortController();
|
101
|
-
}
|
102
|
-
|
103
|
-
/**
|
104
|
-
* @param {string} q - search value
|
105
|
-
* @returns {Array<ResultItem>}
|
106
|
-
*/
|
107
|
-
async search(q) {
|
108
|
-
const params = {
|
109
|
-
q,
|
110
|
-
countrycodes: this.countrycode,
|
111
|
-
format: 'json',
|
112
|
-
polygon_geojson: 1,
|
113
|
-
addressdetails: 1,
|
114
|
-
limit: this.limit,
|
115
|
-
};
|
116
|
-
|
117
|
-
if (this.city) {
|
118
|
-
params.q += `,${this.city}`;
|
119
|
-
}
|
120
|
-
|
121
|
-
if (this.state) {
|
122
|
-
params.q += `,${this.state}`;
|
123
|
-
}
|
124
|
-
|
125
|
-
if (this.extent) {
|
126
|
-
params.viewbox = this.extent
|
127
|
-
.getCoordinatesInProjection(wgs84Projection)
|
128
|
-
.join(',');
|
129
|
-
params.bounded = 1;
|
130
|
-
}
|
131
|
-
|
132
|
-
const url = new URL(this.url);
|
133
|
-
url.search = new URLSearchParams(params).toString();
|
134
|
-
|
135
|
-
const { signal } = this._controller.signal;
|
136
|
-
const response = await fetch(url, { signal });
|
137
|
-
const results = await response.json();
|
138
|
-
return results.map(createResultItem);
|
139
|
-
}
|
140
|
-
|
141
|
-
abort() {
|
142
|
-
this._controller.abort();
|
143
|
-
}
|
144
|
-
|
145
|
-
toJSON() {
|
146
|
-
/**
|
147
|
-
* @type {NominatimSearchOptions}
|
148
|
-
*/
|
149
|
-
const defaultOptions = Nominatim.getDefaultOptions();
|
150
|
-
const config = {};
|
151
|
-
|
152
|
-
if (this.url !== defaultOptions.url) {
|
153
|
-
config.url = this.url;
|
154
|
-
}
|
155
|
-
if (this.city !== defaultOptions.city) {
|
156
|
-
config.city = this.city;
|
157
|
-
}
|
158
|
-
if (this.state !== defaultOptions.state) {
|
159
|
-
config.state = this.state;
|
160
|
-
}
|
161
|
-
if (this.countrycode !== defaultOptions.countrycode) {
|
162
|
-
config.countrycode = this.countrycode;
|
163
|
-
}
|
164
|
-
if (this.extent && this.extent !== defaultOptions.extent) {
|
165
|
-
config.extent = this.extent.toJSON();
|
166
|
-
}
|
167
|
-
if (this.limit !== defaultOptions.limit) {
|
168
|
-
config.limit = this.limit;
|
169
|
-
}
|
170
|
-
|
171
|
-
return config;
|
172
|
-
}
|
173
|
-
}
|
174
|
-
|
175
|
-
export default Nominatim;
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|