Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
eea2927
refactor(addressSearch): add basic plugin skeleton for migration
dopenguin Nov 4, 2025
faccb12
refactor(core): add addressSearch plugin types
dopenguin Nov 4, 2025
25215ac
refactor(addressSearch): remove bloated files and add new information…
dopenguin Nov 4, 2025
95010c8
refactor(addressSearch): migrate locales
dopenguin Nov 7, 2025
1e56a36
refactor: add addressSearch to snowbox
dopenguin Nov 11, 2025
c9cd65a
refactor(addressSearch): implement basic interface for the address se…
dopenguin Nov 11, 2025
c39604a
refactor(addressSearch): remove component feature which will not be d…
dopenguin Nov 11, 2025
77c8bef
refactor(addressSearch): move input value to the store
dopenguin Nov 11, 2025
b8da24f
refactor(addressSearch): update inputValue to be a computed value tha…
dopenguin Nov 11, 2025
6fae14a
refactor(addressSearch): move clear to the store
dopenguin Nov 11, 2025
1c0c478
refactor(addressSearch): implement abortAndRequest and use zero depen…
dopenguin Nov 11, 2025
f20a697
refactor(addressSearch): move searchResultSymbols
dopenguin Nov 11, 2025
624c62f
refactor(core): add addressSearch to the general mapConfiguration
dopenguin Nov 12, 2025
629ac2f
refactor(addressSearch): add waitMs configuration
dopenguin Nov 12, 2025
2e7a3c0
Merge branch 'vue3/refactor-enhance-defaulted-configuration' into vue…
dopenguin Nov 12, 2025
06ba0e8
refactor(addressSearch): move methodContainer
dopenguin Nov 13, 2025
0077f81
refactor(addressSearch): reset searchResults in clear action
dopenguin Nov 13, 2025
deefa51
refactor(addressSearch): add missing type
dopenguin Nov 13, 2025
64cc447
refactor(addressSearch): assign methodContainer on setup
dopenguin Nov 13, 2025
ac924b9
refactor(addressSearch): rename methodContainer
dopenguin Nov 13, 2025
0a2308a
Merge branch 'vue3/refactor-enhance-defaulted-configuration' into vue…
dopenguin Nov 14, 2025
caeb7ad
refactor(addressSearch): re-implement basic search functionality
dopenguin Nov 14, 2025
61bbd59
Merge branch 'vue3/update-shadows' into vue3/migrate-plugin-address-s…
dopenguin Nov 14, 2025
8526a36
Merge branch 'vue3/update-shadows' into vue3/migrate-plugin-address-s…
dopenguin Nov 14, 2025
28f4ec5
fix(addressSearch): add missing linebreak
dopenguin Nov 14, 2025
d647740
refactor(addressSearch): add a wrapper and todos in preparation for t…
dopenguin Nov 14, 2025
ff73491
refactor: update PolarCard to use kern-variables and properly reset h…
dopenguin Nov 14, 2025
195b8c4
refactor(addressSearch): use reusable component PolarCard in AddressS…
dopenguin Nov 14, 2025
060699e
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Nov 18, 2025
f0322c3
refactor(addressSearch): add skeleton, lots of todos and some migrate…
dopenguin Nov 20, 2025
4786e44
refactor(addressSearch): migrate the mpapi search to the lib getFeatures
dopenguin Nov 20, 2025
8c061df
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Nov 20, 2025
8a18204
fix(addressSearch): add missing v-else
dopenguin Nov 20, 2025
ef931b6
refactor(addressSearch): update searchMethods to always point to the …
dopenguin Nov 20, 2025
b6fcb6f
fix(addressSearch): remove redundant import
dopenguin Nov 20, 2025
3b98c4d
refactor: add mpapi search configuration to snowbox
dopenguin Nov 20, 2025
afc8b1e
refactor: add minLength and waitMs to snowbox search example
dopenguin Nov 20, 2025
7e0b8ff
refactor(addressSearch): use <strong> instead of <em>
dopenguin Nov 21, 2025
a1d0fb3
refactor(addressSearch): update basic styling
dopenguin Nov 24, 2025
84be7a9
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Nov 28, 2025
d03069c
refactor(addressSearch): add possibility to focus the results and pro…
dopenguin Dec 4, 2025
1706a6a
refactor(addressSearch): add possibility to escape results by pressin…
dopenguin Dec 4, 2025
db78ce4
fix(addressSearch): remove unused ref for now
dopenguin Dec 4, 2025
bf54909
fix(addressSearch): also remove ref import for now
dopenguin Dec 4, 2025
5764cab
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 5, 2025
6003e2f
fix(addressSearch): prevent list scrolling on newly focused element
dopenguin Dec 5, 2025
d17d646
refactor(addressSearch): remove todo fixed by b5c37e73 and 6003e2f4
dopenguin Dec 5, 2025
d59e9e7
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 8, 2025
7f646bb
fix(addressSearch): import missing type
dopenguin Dec 8, 2025
e85373c
refactor(addressSearch): add aria-description to the input
dopenguin Dec 8, 2025
9aeb7f3
refactor(addressSearch): remove migrated functionality
dopenguin Dec 11, 2025
e79eb92
refactor(addressSearch): add inline-loader
dopenguin Dec 12, 2025
1b12f50
fix(addressSearch): don't render the Results div if no features are a…
dopenguin Dec 12, 2025
f837d4b
refactor(addressSearch): add hint below input field
dopenguin Dec 12, 2025
935b73c
refactor(addressSearch): remove wrapper and move all functionality di…
dopenguin Dec 12, 2025
8d266e7
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 12, 2025
19b06c2
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 15, 2025
39e5142
Merge branch 'vue3/upgeade-masterportalapi' into vue3/migrate-plugin-…
dopenguin Dec 16, 2025
700dd17
fix(addressSearch): improve typing to get rid of errors
dopenguin Dec 16, 2025
fc16e5e
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 16, 2025
8d23340
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 16, 2025
d9fdc55
fix(addressSearch): use a color for the muted text that changes on co…
dopenguin Dec 16, 2025
9d54c08
refactor(addressSearch): change padding and height to bring the infor…
dopenguin Dec 16, 2025
446ca17
refactor(addressSearch): remove orderedSearchResults as groups will b…
dopenguin Dec 16, 2025
d878b3a
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 17, 2025
db63408
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 17, 2025
643924b
fix(addressSearch): remove unused import
dopenguin Dec 17, 2025
39f18a3
refactor(reverseGeocoder): update addressTarget to reflect the previo…
dopenguin Dec 18, 2025
b138100
refactor(pins): use new type StoreReference introduced in #423
dopenguin Dec 18, 2025
a467a12
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 22, 2025
2a937c0
refactor: add geojson related types that reflect the existence of title
dopenguin Dec 22, 2025
dd52a7f
refactor(pins): adjust epsg to be optional and default to the configu…
dopenguin Dec 22, 2025
00e6087
refactor(addressSearch): add configuration getter
dopenguin Dec 22, 2025
806858c
refactor: update placement of title outside properties
dopenguin Dec 22, 2025
3a9f729
fix: correctly parse the coordinates to be numbers
dopenguin Dec 22, 2025
59c2f73
refactor(addressSearch): add possibility to select result
dopenguin Dec 22, 2025
042563d
refactor(pins): remove checked todo
dopenguin Dec 22, 2025
4af7955
refactor(addressSearch): reset chosenAddress when clearing
dopenguin Dec 22, 2025
a7db025
refactor(addressSearch): remove done todo
dopenguin Dec 22, 2025
6f3d08d
refactor: update TSDoc information of MpapiParameters with informatio…
dopenguin Dec 22, 2025
f7573d8
refactor: add information regarding the AbortController
dopenguin Dec 22, 2025
0a7f22f
refactor: migrate bkg searchMethod
dopenguin Dec 22, 2025
5997abc
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Dec 23, 2025
a60e5c5
fix: adjust mpapi search to only return a found address once
dopenguin Dec 23, 2025
c91dbb0
refactor: appropriately rename PolarFeature to PolarGeoJsonFeature
dopenguin Dec 23, 2025
df3ebcf
refactor: move errorCheck
dopenguin Dec 29, 2025
49a0beb
refactor: add type safety to bkg search function and add errorCheck
dopenguin Dec 29, 2025
f74c5e7
refactor: properly exclude GeometryCollection
dopenguin Dec 29, 2025
c051815
refactor: migrate wfs search
dopenguin Dec 29, 2025
0acb8f8
refactor: fix linting and type issues in getFeatureTitleFromPattern
dopenguin Dec 29, 2025
054f5e5
refactor: migrate tests for wfs search
dopenguin Dec 30, 2025
3fc80ae
refactor: migrate vector search functionality
dopenguin Dec 30, 2025
68eb05f
refactor(addressSearch): remove done todos
dopenguin Dec 30, 2025
48e9b51
refactor(addressSearch): migrate afterResultComponent
dopenguin Dec 30, 2025
f2e371f
refactor(addressSearch): add TSDoc to SearchMethodConfiguration
dopenguin Dec 30, 2025
021edab
refactor(addressSearch): re-add groupId to SearchConfiguration
dopenguin Dec 30, 2025
d7bea57
fix(addressSearch): use a different searchMethod as it seemingly wasn…
dopenguin Jan 6, 2026
aef3c5e
fix(addressSearch): adjust height in relation to the footer
dopenguin Jan 6, 2026
9e656fa
refactor(addressSearch): reimplement the possibility to group searchM…
dopenguin Jan 6, 2026
066b4a8
fix(addressSearch): comment not-yet-used variables
dopenguin Jan 6, 2026
9422fc9
fix(addressSearch): export CategoryProperties to get rid of tsc issue
dopenguin Jan 6, 2026
4731b9d
fix(addressSearch): put overflow-y on the correct element
dopenguin Jan 9, 2026
724a7e4
refactor(addressSearch): only display categoryLabel if multiple categ…
dopenguin Jan 9, 2026
b1552f7
fix(addressSearch): remove unnecessary margin from first search result
dopenguin Jan 9, 2026
fb9c796
fix(addressSearch): remove wrongfully added console.warn
dopenguin Jan 9, 2026
4abc1e0
refactor(addressSearch): adjust focusNextElement to be able to actual…
dopenguin Jan 12, 2026
f277bec
refactor(addressSearch): no longer clear the search when escaping the…
dopenguin Jan 12, 2026
908b1a7
refactor(addressSearch): add possibility to select a result on enter
dopenguin Jan 12, 2026
b7eb0f4
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 13, 2026
224962b
refactor(addressSearch): add possibility to limit and expand results
dopenguin Jan 13, 2026
bf7d8fa
refactor(addressSearch): add configurability to focus the first resul…
dopenguin Jan 13, 2026
65839a5
refactor(addressSearch): add divider
dopenguin Jan 14, 2026
7dc9ce0
refactor(addressSearch): remove unused configuration parameter placeh…
dopenguin Jan 14, 2026
080ce6b
refactor(addressSearch): enhance documentation
dopenguin Jan 14, 2026
739a1fe
refactor(addressSearch): register custom search methods
dopenguin Jan 14, 2026
0dfc22e
refactor(addressSearch): implement external search method
dopenguin Jan 15, 2026
798a644
refactor(addressSearch): add documentation for chosenAddress
dopenguin Jan 15, 2026
9b30ec9
refactor(addressSearch): update implementation of selectedGroupId to …
dopenguin Jan 15, 2026
eda4bd2
fix(addressSearch): change optionality of label and resultDisplayMode
dopenguin Jan 15, 2026
37d5a76
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 15, 2026
55519cb
refactor(addressSearch): implement GroupSelect
dopenguin Jan 16, 2026
4242e2f
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 16, 2026
a86418a
refactor(addressSearch): add default value for categoryId if selectRe…
dopenguin Jan 16, 2026
27dd836
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 20, 2026
3e79222
refactor: remove done todo
dopenguin Jan 20, 2026
2ec3b4a
fix: change order of addPlugin so that watchers can watch
dopenguin Jan 20, 2026
474098e
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 22, 2026
4012763
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 23, 2026
b554e89
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Jan 23, 2026
b0f6557
feat(addressSearch): add hmr update to addressSearch store
dopenguin Jan 23, 2026
40df10e
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 2, 2026
94ead2d
fix(addressSearch): remove redundant pointer-events
dopenguin Feb 2, 2026
b9b607f
fix(addressSearch): use correct type for options
dopenguin Feb 2, 2026
5f282d8
fix(addressSearch): add missing margin if only one list is visible
dopenguin Feb 2, 2026
11a871a
fix(addressSearch): add tabindex to the correct element
dopenguin Feb 2, 2026
9b0df82
refactor(addressSearch): move loader to a separate file
dopenguin Feb 2, 2026
b4d2327
refactor(addressSearch): focus next element in the DOM order instead …
dopenguin Feb 2, 2026
0d0945f
refactor(addressSearch): hide clear button if no input is given
dopenguin Feb 2, 2026
61410e3
refactor(addressSearch): increase specificity to be able to remove !i…
dopenguin Feb 2, 2026
5428eab
refactor(addressSearch): go full KERNal
dopenguin Feb 2, 2026
5a3fb1f
refactor(addressSearch): change minLength to a reasonable value
dopenguin Feb 2, 2026
084009c
refactor(addressSearch): change waitMs to a reasonable value
dopenguin Feb 2, 2026
5d7d893
refactor(addressSearch): add aria-label to enhance accessibility
dopenguin Feb 3, 2026
5ed0daf
refactor(addressSearch): use PolarSelect for the GroupSelect
dopenguin Feb 3, 2026
0def8f2
refactor(addressSearch): remove redundant case after removal of clear…
dopenguin Feb 3, 2026
0f442a6
fix(addressSearch): refocus input after clearing
dopenguin Feb 3, 2026
f1e58a4
refactor(addressSearch): use a multiple of a kern variable for the fo…
dopenguin Feb 3, 2026
4222a76
refactor(addressSearch): use kern variables where possible in tempora…
dopenguin Feb 3, 2026
130cd86
fix(addressSearch): adjust size of the expand result button to be the…
dopenguin Feb 3, 2026
65d0ac2
refactor(addressSearch): use a semantic container
dopenguin Feb 3, 2026
253b28f
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 3, 2026
30e054e
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 4, 2026
bbabbc2
fix: switch to less buggy loader
warm-coolguy Feb 5, 2026
b08d4b0
Merge branch 'next' into vue3/migrate-plugin-address-search
warm-coolguy Feb 6, 2026
2d062ca
Merge branch 'next' into vue3/migrate-plugin-address-search
warm-coolguy Feb 6, 2026
52d69ad
fix: prevent footer underlap
warm-coolguy Feb 6, 2026
8ff1b1b
refactor(addressSearch): polish template
dopenguin Feb 6, 2026
1c38873
refactor(addressSearch): add a more descriptive label
dopenguin Feb 6, 2026
62c13da
refactor(addressSearch): rename AddressSearchOptions to AddressSearch…
dopenguin Feb 6, 2026
57b928a
refactor(addressSearch): rename (last instance of) AddressSearchOptions
dopenguin Feb 6, 2026
443b30c
refactor(addressSearch): change @internal to @alpha
dopenguin Feb 6, 2026
a5f507d
fix(addressSearch): only absolutely place the card if layout is set t…
dopenguin Feb 9, 2026
db6862b
fix(addressSearch): add a bit more margin to the first element so the…
dopenguin Feb 9, 2026
7fe72fe
feat: expand iceberg example
dopenguin Feb 9, 2026
0d75f4e
feat: re-enable isSelectable in snowbox
dopenguin Feb 9, 2026
ca9e6bc
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 9, 2026
b6a1ff1
refactor(addressSearch): remove button hiding the search input
dopenguin Feb 10, 2026
c2b922e
refactor(addressSearch): remove finished todo
dopenguin Feb 10, 2026
c157746
refactor(addressSearch): put the loader and the clear button on the s…
dopenguin Feb 10, 2026
2f95bcb
refactor(addressSearch): remove padding no longer needed after c1577464
dopenguin Feb 10, 2026
c3c7c0e
refactor(addressSearch): only show the dropdown icon for the group se…
dopenguin Feb 10, 2026
73414bd
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 16, 2026
f91f4e6
refactor(addressSearch): use a correct aria label
dopenguin Feb 16, 2026
10cff89
fix(addressSearch): remove unused import
dopenguin Feb 16, 2026
d6e2684
refactor(iconMenu): change opening of menus to work through id
dopenguin Feb 16, 2026
fb7f20b
refactor(iconMenu): change direction of menus in standard to behave l…
dopenguin Feb 16, 2026
bf3061f
fix(iconMenu): adjust name of css class
dopenguin Feb 16, 2026
74cbdf1
refactor(core): add export for clientWidth
dopenguin Feb 16, 2026
a698276
fix(addressSearch): add correct max-width to the search container
dopenguin Feb 16, 2026
110b932
fix(addressSearch): display results on top of focus menu items
dopenguin Feb 16, 2026
d29a774
fix(addressSearch): correctly place the clear button and small loader…
dopenguin Feb 16, 2026
2943896
refactor(addressSearch): add a prepended search icon
dopenguin Feb 16, 2026
6f11193
fix(addressSearch): update console statement to new logic
dopenguin Feb 17, 2026
7c47c09
refactor: add reverseGeocoder to iceberg
dopenguin Feb 17, 2026
22dcc9b
refactor: add hamburgBorder to services in snowbox and generally conf…
dopenguin Feb 17, 2026
981839f
fix(addressSearch): focus first result even if features were previous…
dopenguin Feb 17, 2026
659c97d
fix(addressSearch): fix placement of search icon and related issues
dopenguin Feb 17, 2026
92a2353
fix(addressSearch): adjust size of input depending on available space
dopenguin Feb 17, 2026
c76e5d2
fix(addressSearch): adjust label to not use the hint
dopenguin Feb 17, 2026
fab8e64
fix(addressSearch): use aria-describedby in favour of aria-descriptio…
dopenguin Feb 17, 2026
5f48ee6
refactor(addressSearch): remove fixed todo
dopenguin Feb 17, 2026
6659597
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 17, 2026
42d9c6a
Merge branch 'next' into vue3/migrate-plugin-address-search
dopenguin Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions examples/iceberg/components/IcebergMap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,12 @@
import type { PolarContainer } from '@polar/polar'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most parts of the map are currently not interactable with pointer devices. This becomes especially apparent when clicking a search result and trying to move the pin. However, it also occurs when trying to pan the map.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed 621ba98

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On my mobile device, when testing the snowbox, the Please use two fingers ... text no longer appears. I am either not panning the map at all, or I am directly panning with the thumb. This leads me to assume that, once the panning issue is fixed, we'll have scroll traps.

Copy link
Member Author

@dopenguin dopenguin Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though this is a comment on iceberg, I can reproduce the behaviour.
This has nothing to do with this PR though, as the bug already exists on next. Thus, I've created an issue #540

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed 621ba98


import { addPlugins, getStore, subscribe } from '@polar/polar'
import pluginAddressSearch from '@polar/polar/plugins/addressSearch'
import pluginFullscreen from '@polar/polar/plugins/fullscreen'
import pluginIconMenu from '@polar/polar/plugins/iconMenu'
import pluginLayerChooser from '@polar/polar/plugins/layerChooser'
import pluginPins from '@polar/polar/plugins/pins'
import pluginReverseGeocoder from '@polar/polar/plugins/reverseGeocoder'
import pluginScale from '@polar/polar/plugins/scale'
import pluginToast from '@polar/polar/plugins/toast'
import { ref, useTemplateRef, watch } from 'vue'
Expand All @@ -53,6 +57,10 @@ watch(map, (map) => {
layoutTag: 'TOP_RIGHT',
menus: [
[
{
plugin: pluginLayerChooser({}),
icon: 'kern-icon-fill--layers',
},
{
plugin: pluginFullscreen({ renderType: 'iconMenu' }),
},
Expand All @@ -64,6 +72,36 @@ watch(map, (map) => {
layoutTag: 'BOTTOM_RIGHT',
showScaleSwitcher: false,
}),
pluginAddressSearch({
displayComponent: true,
layoutTag: 'TOP_LEFT',
searchMethods: [],
}),
pluginPins({
coordinateSources: [{ plugin: 'addressSearch', key: 'chosenAddress' }],
boundary: {
layerId: '1693',
},
movable: 'drag',
style: {
fill: '#FF0019',
},
toZoomLevel: 7,
}),
pluginReverseGeocoder({
url: 'https://geodienste.hamburg.de/HH_WPS',
coordinateSources: [
{
plugin: 'pins',
key: 'coordinate',
},
],
addressTarget: {
plugin: 'addressSearch',
key: 'selectResult',
},
zoomTo: 7,
}),
pluginToast({
displayComponent: true,
layoutTag: 'BOTTOM_MIDDLE',
Expand Down
88 changes: 88 additions & 0 deletions examples/iceberg/services.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
export default [
{
id: '23420',
name: 'basemap.de Web Raster Farbe',
url: 'https://sgx.geodatenzentrum.de/wms_basemapde',
typ: 'WMS',
layers: 'de_basemapde_web_raster_farbe',
format: 'image/png',
version: '1.3.0',
singleTile: false,
transparent: true,
transparency: 0,
urlIsVisible: true,
tilesize: 512,
gutter: 0,
minScale: '0',
maxScale: '2500000',
legendURL: '',
cache: false,
featureCount: 5,
},
{
id: '23421',
name: 'basemap.de Web Raster Grau',
url: 'https://sgx.geodatenzentrum.de/wms_basemapde',
typ: 'WMS',
layers: 'de_basemapde_web_raster_grau',
format: 'image/png',
version: '1.3.0',
singleTile: false,
transparent: true,
transparency: 0,
urlIsVisible: true,
tilesize: 512,
gutter: 0,
minScale: '0',
maxScale: '2500000',
legendURL: '',
cache: false,
featureCount: 5,
},
{
id: '1454',
name: 'Ausgleichsflächen',
url: 'https://geodienste.hamburg.de/HH_WFS_Ausgleichsflaechen',
typ: 'WFS',
featureType: 'ausgleichsflaechen',
outputFormat: 'XML',
version: '1.1.0',
featureNS: 'https://registry.gdi-de.org/id/de.hh.up',
featurePrefix: 'de.hh.up',
legendURL: '',
},
{
id: '6059',
name: 'MML Anliegen',
url: 'https://geodienste.hamburg.de/lgv-config/anliegen_extern.json',
typ: 'GeoJSON',
format: 'XML',
version: '1.0',
minScale: '0',
maxScale: '2500000',
legendURL: '',
urlIsVisible: true,
},
{
id: 'denkmaelerWMS',
name: 'Denkmal WMS',
url: 'https://efi2-deegree.schleswig-holstein.de/dish-deegree/services/wms_shp',
typ: 'WMS',
layers: '0,1,2,3,4,6,24,25',
legendURL: 'ignore',
format: 'image/png',
version: '1.3.0',
transparent: true,
},
{
id: '1693',
name: 'Landesgrenze',
url: 'https://geodienste.hamburg.de/HH_WFS_Verwaltungsgrenzen',
typ: 'WFS',
featureType: 'landesgrenze',
outputFormat: 'XML',
version: '1.1.0',
featureNS: 'http://www.deegree.org/app',
featurePrefix: 'app',
},
]
98 changes: 82 additions & 16 deletions examples/iceberg/stores/iceberg.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Differing to the snowbox configuration, the reverse geocoder is no longer configured in this example. It also no longer works in the snowbox, but previously did.

I suggest you configure it in the iceberg client, too, to test whether the two plugins interoperate as expected. After all, AddressSearch♥Pins♥ReverseGeocoder are the three musketeers of figuring out what is where.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reverse geocoder only works for addresses in Hamburg, thus setting a pin anywhere else won't yield a result. However, I've added the layer for the boundary of Hamburg to remove confusion while also centering the map initally on Hamburg as otherwise the layer is not yet loaded and the pin would be set either way 22dcc9b

However, I've added the reverse geocoder to iceberg, as that should be the client we are testing moving forward 7c47c09

fetchServiceRegister,
type MapConfiguration,
type MasterportalApiServiceRegister,
} from '@polar/polar'
import { defineStore } from 'pinia'
import { ref, reactive, watch } from 'vue'
import { ref, reactive } from 'vue'

import type { MpapiParameters } from '@/lib/getFeatures/types'

import services from '../services'

export const useIcebergStore = defineStore('iceberg', () => {
const mapConfiguration = reactive<MapConfiguration>({
Expand All @@ -14,29 +17,92 @@ export const useIcebergStore = defineStore('iceberg', () => {
id: '23420',
visibility: true,
type: 'background',
name: 'snowbox.layers.basemap',
name: 'Basemap.de (Farbe)',
},
{
id: '23421',
visibility: true,
type: 'background',
name: 'Basemap.de (Grau)',
},
{
id: '1454',
type: 'mask',
name: 'Ausgleichsflächen',
styleId: 'panda',
visibility: true,
minZoom: 5,
},
{
id: '1693',
visibility: true,
hideInMenu: true,
type: 'mask',
name: 'Stadtgrenze Hamburg',
},
{
id: 'denkmaelerWMS',
type: 'mask',
name: 'Kulturdenkmale',
visibility: true,
options: {
layers: {
order: '6,24,25,4,3,2,1,0',
title: {
/* eslint-disable @typescript-eslint/naming-convention */
6: 'Denkmalbereich',
24: 'Mehrheit von baulichen Anlagen',
25: 'Sachgesamtheit',
4: 'Baudenkmal',
3: 'Gründenkmal',
2: 'Gewässer',
1: 'Baudenkmal (Fläche)',
0: 'Gründenkmal (Fläche)',
/* eslint-enable @typescript-eslint/naming-convention */
},
legend: true,
},
},
},
],
startCenter: [573364, 6028874],
startCenter: [565874, 5934140],
layout: 'nineRegions',
addressSearch: {
searchMethods: [
{
queryParameters: {
searchStreets: true,
searchHouseNumbers: true,
} as MpapiParameters,
type: 'mpapi',
url: 'https://geodienste.hamburg.de/HH_WFS_GAGES?service=WFS&request=GetFeature&version=2.0.0',
},
],
minLength: 3,
waitMs: 300,
focusAfterSearch: true,
groupProperties: {
// @ts-expect-error | defaultGroup has a default label
defaultGroup: {
limitResults: 5,
},
},
},
fullscreen: {
displayComponent: true,
layoutTag: 'TOP_RIGHT',
},
pins: {
coordinateSources: [{ plugin: 'addressSearch', key: 'chosenAddress' }],
movable: 'drag',
style: {
fill: '#FF0019',
},
toZoomLevel: 7,
},
})

const serviceRegisterUrl = ref(
'https://geodienste.hamburg.de/services-internet.json'
)

const serviceRegister = ref<MasterportalApiServiceRegister>([])
watch(
serviceRegisterUrl,
async (url) => {
serviceRegister.value = await fetchServiceRegister(url)
},
{ immediate: true }
)
const serviceRegister = ref<MasterportalApiServiceRegister>(services)

return {
mapConfiguration,
Expand Down
Loading
Loading