Zum Hauptinhalt springen

Projection Switcher

Dieses Addon erlaubt das Ändern der Kartenprojektion basierend auf einer Liste vordefinierter Projektionen. Diese Projektionen können für jede Applikation spezifisch definiert werden. Ein Dropdown Element wird der Karte hinzugefügt, das die Auswahl der Kartenprojektion ermöglicht.

Setup

Fügen Sie das Addon der Masterportal Applikation im addons Ordner hinzu. Erstellen oder editieren Sie die addonsConf.js und fügen Sie folgenden Eintrag hinzu:

{
"projectionSwitcher": "view.js"
}

Fügen Sie das Addon zur config.js Datei im Abschnitt addons hinzu:

addons: [
"projectionSwitcher"
]

Fügen Sie die optionale Konfiguration des Addons zur config.json Datei im Abschnitt PortalConfig hinzu:

"projectionSwitcher": {
"parentSelector": ".control-view-bottom",
"allowedCrs": [
"EPSG:4326",
"EPSG:3857",
"EPSG:25833",
"EPSG:25832"
],
"crsNameMapping": {
"EPSG:4326": "WGS 84",
"EPSG:3857": "WGS 84 / PseudoMercator"
}
}

Stellen Sie sicher, dass für alle Projektionen, die unter allowedCrs aufgelistet wurden, ein Projektionsstring in config.js Abschnitt namedProjections existiert.

"namedProjections": [
["EPSG:25832", "+title=ETRS89/UTM 32N +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"],
["EPSG:25833", "+title=ETRS89/UTM 33N +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"],
["EPSG:900913", "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"]
]

Konfiguration

Folgende Parameter können für das Addon konfiguriert werden:

NameVerpflichtendTypDefaultBeschreibungStandard
parentSelectorneinString""CSS Selektor zur Identifikation des Elternelements. Das Dropdown wird in das entsprechende Element gerendert.false
allowedCrsneinString[]aktuelle KartenprojektionListe der auswählbaren Projektionen. Diese müssen im Format "EPSG:XXXX" angegeben werden. Sollte der Parameter nicht angegeben werden, wird automatisch die aktuelle Kartenprojektion als einzig auswählbare Projektion verwendet.false
crsNameMappingneinObject{}Mapping für die CRS-Codes, z.B. { "EPSG:4326":"WGS84", "EPSG:3857", "WGS 84 / Pseudo-Mercator"}.false