Anpassen der Suchen-Karte
Die Suchen-Karte wird in der Datei \\geoportal\WEB-INF\classes\gpt\config\gpt.xml referenziert. Derselbe Service wird auch für die Seite "Vorschau", die Seite "Details" und die Editierformulare für Metadaten verwendet, aber nicht für eine benutzerdefinierte Download-Seite. Die Karte wird von der ArcGIS Server JavaScript-API auf der Benutzeroberfläche aufgerufen. In diesem Thema werden das Ändern des Typs des verwendeten Dienstes "Suchen-Karte" und der Anfangsausdehnung der Karte sowie die Aspekte behandelt, die beim Konfigurieren der Suchen-Karte und beim Ändern der Bemaßungen der Suchen-Karte auf der Suchseite zu berücksichtigen sind.
Ändern des Dienstes "Suchen-Karte"
Öffnen Sie zum Ändern des Dienstes "Suchen-Karte" die Datei "\\geoportal\WEB-INF\classes\gpt\config\gpt.xml", und ändern Sie "mapServiceUrl" in einen Verweis auf einen anderen Service.
Wichtig: Von den Geoportal Server-Versionen 0.9 bis 1.1.1 werden nur ArcGIS Server Map Server-Services unterstützt. Ab der Geoportal-Version 1.2 werden vier Service-Typen unterstützt. In der Datei "gpt.xml" müssen für den WMS- oder OpenStreetMap-Service weitere Parameter konfiguriert werden:
ArcGIS Server Map Server REST-Endpunkt
Wird von allen Geoportal Server-Versionen unterstützt. Hierbei muss es sich um eine REST-URL handeln. Sie darf keine SOAP-URL sein. "mapServiceType" muss auf "dynamic" festgelegt werden. Bei Festlegung auf "tiled" werden die Zoom-Features der JavaScript-Karte nicht ordnungsgemäß gerendert. Außerdem stehen ArcGIS Online-Services für diesen Parameter zur Verfügung, wenn Ihre Organisation über keinen bevorzugten ArcGIS Server-Service verfügt.
Konfigurationsbeispiel für das Element "interactiveMap":
- mapServiceUrl="http://serverName/arcgis/rest/services/serviceName/MapServer"
- mapServiceType="dynamic"
WMS-Service-URL
Wird von Geoportal Server-Version 1.2 unterstützt. In einer WMS-Service-URL darf die OGC-spezifische Zeichenfolge "?request=GetCapabilities&service=WMS" nicht enthalten sein. Das optionale Element "mapVisibleLayers" ist verfügbar. "mapVisibleLayers" ist ein Array sichtbarer WMS-Layer-Namen. Dieser Parameter muss nur festgelegt werden, wenn WMS als Karten-Service verwendet wird. Layer-Namen sind in der Datei "WMS GetCapabilities xml" im Element name enthalten.
Konfigurationsbeispiel für das Element "interactiveMap":
- mapServiceUrl="http://serverName/arcgis/services/serviceName/WMSServer"
- mapServiceType="wms"
- mapVisibleLayers="['nameA','nameB','nameC']"
WMTS-Service-URL
Wird von Geoportal Server-Version 1.2 unterstützt. In einer WMTS-Service-URL darf die OGC-spezifische Zeichenfolge "?request=GetCapabilities&service=WMST" nicht enthalten sein. Die Unterstützung für WMTS ist sehr allgemein. Bei aufwändigeren Szenarien sind benutzerdefinierte Algorithmen für bestimmte WMTS-Services erforderlich. Die Implementierung solcher Algorithmen steht Ihrer Organisation frei. Weitere Informationen finden Sie unter WMTSLayer (API-Referenz) oderWMTS layer und WMTS - resource info (weitere Vorschläge zum programmgesteuerten Anpassen der WMTS-Unterstützung).
Konfigurationsbeispiel für das Element "interactiveMap":
- mapServiceUrl="http://v2.suite.opengeo.org/geoserver/gwc/service/wmts"
- mapServiceType="wmts"
Der OpenStreetMap-Service
Wird von Geoportal Server-Version 1.2 unterstützt. Lassen Sie für OpenStreetMap das Element "mapServiceUrl" leer.
Konfigurationsbeispiel für das Element "interactiveMap":
- mapServiceUrl=""
- mapServiceType="openstreet"
Wichtige beim Karten-Service zu berücksichtigende Aspekte
Achten Sie darauf, dass bei dem von Ihnen verwendeten Dienst "Suchen-Karte" Folgendes berücksichtigt wird:
- Projizierte Dienste werden unterstützt, wobei hier die Auswirkungen zu beachten sind. Da die Envelopes und Suchvorgänge zum Metadatendokument auf gegenüberliegenden Koordinaten in einem geografischen Koordinatensystem basieren, können die gegenüberliegenden Ecken in einem projiziertem Rechteck nicht gezeichnet werden. Dies führt zu Instanzen, bei denen die Suchergebnisse nicht mit den sichtbaren Kriterien übereinstimmen. Um einen projizierten Service zu verwenden, muss das Attribut geometryServiceUrl auf dem Tab <interactiveMap> festgelegt sein.
- Verwenden Sie Kartendienste nicht mit Raumbezügen, die nicht mit einer gängigen ID (WKID) definiert wurden. Da die Suchen-Karte auf der JavaScript-API basiert, werden die Einschränkungen für die JavaScript-API auf die Suchen-Karte angewendet. Ein bekanntes Problem liegt bei der JavaScript-API vor, die nur durch eine WKID definierte Koordinatensysteme unterstützt. Der Raumbezug einer Karte kann auch als eine Definitionszeichenfolge (WKT) definiert werden. Dies führt bei der Suchen-Karte jedoch zu merkwürdigen Verhaltensweisen. Zum Beispiel können Sie möglicherweise auf der Suchseite den Footprint der Metadatensätze nicht sehen, auf dem Formular für das Erstellen von Metadaten keinen Envelope für die erstellten/bearbeiteten Metadaten definieren, und die Vorschau könnte für das Anzeigen von 'grafischen' Diensten wie GeoRSS oder KML/KMZ fehlerhaft sein.
- Nur für die Versionen 1.0 und 1.1.x: Wenn Sie beabsichtigen, einen Karten-Service für Ihre Suchen-Karte mit einem anderen Koordinatensystem als WGS 1984 - EPSG 4326 zu verwenden, müssen Sie ggf. den Parameter "jsapiUrl" in der Datei "gpt.xml" die JavaScript-API der Version 1.6 anstatt der Standardversion 2.0 referenzieren lassen.
Ändern der Anfangsausdehnung der Karte
Standardmäßig entspricht die Anfangsausdehnung der Geoportal-Karte der Anfangsausdehnung des Service selbst. Ab Geoportal Server 1.2 kann die Anfangsausdehnung der Karte festgelegt und demzufolge die Anfangsausdehnung des Service überschrieben werden. Diese Funktionalität steht für alle Service-Typen ("dynamic", "openstreet", "wms" oder "wmts") zur Verfügung. Sie wirkt sich jedoch nur auf die Karte auf der Such- und Vorschauseite aus. Sie wird nicht für die Metadatendetailseite (ist bereits auf die Größe des Envelope vergrößert) oder den Metadateneditor aktiviert (der entweder auf die Größe des Envelope vergrößert wird, wenn bereits vorhandene Metadaten bearbeitet werden, oder einen anderen Mechanismus zum Festlegen der Anfangsausdehnung verwendet, wenn neue Metadaten erstellt werden).
Konfigurieren der Anfangsausdehnung
Fügen Sie in der Datei "gpt.xml" dem Element interactiveMap das Attribut "mapInitialExtent" hinzu. Der Wert dieses Attributs ist eine JSON-konforme Definition der Ausdehnung der Esri JavaScript-API (weitere Informationen finden Sie unter Ausdehnung).
Beispiel: <interactiveMap mapInitialExtent="xmin:0,ymin:0,xmax:90,ymax:45,spatialReference:{wkid:4326}"
Ändern der Bemaßungen der Suchen-Karte
Wenn Sie die auf der Suchseite angezeigte Standard-Suchen-Karte ändern, müssen Sie möglicherweise die Bemaßungen des Karten-Containers selbst ändern, damit sie sich Ihrem geografischen Bereich besser anpasst. Den Code für die Suchseite finden Sie in der Datei \\geoportal\catalog\search\criteria.jsp .
- Öffnen Sie die Datei \\geoportal\catalog\search\criteria.jsp in einem Texteditor.
- Navigieren Sie zu div, das über eine id von interactiveMap verfügt.
- Für div ist im zugehörigen Attribut Style die Breite und Höhe festgelegt. Ändern Sie die Werte für Breite und Höhe nach Bedarf.
- Das div, das interactiveMap enthält, verfügt über ein Parent-div, das den Rahmen der Karte erstellt. Wenn Sie die Bemaßungen des Child-div ändern, müssen Sie auch die Bemaßungen dieses Parent-div ändern. Suchen Sie die div-Deklaration, die sich gleich über dem interactiveMap-Div befindet. Ändern Sie die Werte für Breite und Höhe des Style-Attributs nach Bedarf.
- Im folgenden Beispiel wurde die Höhe und Breite in
537 Pixel bzw. 360 Pixel geändert:
<f:verbatim> <div id="locatorCandidates" class="locatorCandidates"></div> <div style="width: 537px; height: 360px; margin-top: 1px; border: 1px solid #000000;"> <div id="interactiveMap" dojotype="dijit.layout.ContentPane" style="width:537px; height:360px; cursor:pointer; cursor:pointer;"></div> </div> </f:verbatim>
- Wichtig ist auch, die Breite der Geoportal-Seitengröße zu ändern, um sie Ihrer größeren Karte anzupassen. Öffnen Sie zum Ändern der Breite preview.css im Ordner
\\geoportal\catalog\skins\themes\[color theme]. Erhöhen Sie in dieser Datei die Seitengröße, indem Sie den Wert Breite entsprechend anpassen. Im folgenden Beispiel wird die Breite von 880 Pixel auf 980 Pixel erhöht:
div#gptMainWrap { width: 980px;
- Speichern Sie die geänderten Dateien, starten Sie die Geoportal-Webanwendung neu, und öffnen Sie für Ihr Geoportal ein neues Browserfenster, um die wirksam gewordenen Änderungen anzuzeigen.