Maptip im cardo4
  • Klick auf ein Objekt in der Karte
  • Anzeige Maptipinformationen aller getroffenen Objekte an diesem Punkt – alle sichtbaren Ebenen werden abgefragt
  • Alle mit dem Objekt möglichen Aktionen sind aus dem Maptip startbar
  • Anzeige von bestimmten Sachinformationen im Maptip durch Administrator steuerbar
  • Einstellungen wie bisher im Managementcenter/Reiter Zusatzeigenschaften

  • Maptip wird immer angezeigt, auch wenn die Einstellung explizit auf nein steht!

Einstellungen im Parameterfeld Aktivieren:

Leer:

ja -> Maptip definiert:

nein:

Anforderung Maptip bei sehr großen Geometrien

Es ist zu beachten: wird ein Maptip auf sehr große Geometrien angefordert, so kann der Abruf einige Sekunden dauern.

Maptip auf Polygone bringt zu viele Ergebnisse

Werden beim Maptip auf eine Ebene mit angrenzenden Polygonen zu viele Objekte (das von Interesse und die Nachbarobjekte) getroffen, so sollten Sie an der Ebene in den Zusatzeigenschaften die Selektionsgeometrie dieser Ebene anpassen (0,0,0). Es kann vorkommen, dass der Standardwert des Radius von 5 Karteneinheiten zu groß ist.

Meldung Maptip

Betrifft: Maptip soll für ein Objekt in der Karte angezeigt werden

Meldung: Der MapTip für Ebene Ebenenname (Lxx) konnte nicht abgerufen werden: SOURCE:iwan FetchERROR: GEOSRelatePattern: TopologyException: side location conflict at 447597.77779999998 5697198.9066996397

Ursache: die angeklickte Geometrie ist nicht valide, d.h. fehlerhaft.

Lösung: Geometrie korrigieren (bspw. bei einer Postgres DB mit der Funktion st_makevalid die Geometrie korrigieren)

---

Betrifft: Maptip soll für ein Objekt in der Karte angezeigt werden

Meldung: Der MapTip für die Ebene Ebenenname (Lxx) konnte nicht abgerufen werden: SOURCEiwan Fehler beim Verarbeiten des Headers. Statuscode 400

Ursache: Der Maptip wird auf einen WMS Dienst ausgeführt.

Lösung: Richten Sie beim Parameter wmsGetFeatureInfoFormatOrder: text/html ein

Formatierung Maptip

Beispiel: Nachkommastellen von Dezimalzahlen

Spalten: Shape_area

HTML Vorlage:

Größe: <b>{0:0}</b>  mit einer Nachkommastelle

Größe: <b>{0:00}</b>  mit zwei Nachkommastellen

Größe: <b>{0:#}</b>    ohne Nachkommastellen

Beispiel: Datum

erstellt: {0:dd.MM.yyyy} führt zu -> erstellt: 10.11.2021

Button Plan im Maptip verlinken

Der Maptip muss mit HTML definiert werden. Für den Button Plan kommt ein Link in den Maptip:

https://cardo/net3/button/run.aspx?plan=Plantitel&FlstId={bp_id}&Zielformat=PDF

cardo = Adresse ihres cardos

plan = Name des Buttonplans

Flstid und Zielformat = Parameter, die dem Plan übergeben werden

als Link:

<a href="https://cardo/net3/button/run.aspx?plan=Plantitel&FlstId={1}&Zielformat=PDF"> Button Plan für Flurstücke im PDF Format</a>

{1} = bp_id

Anzeige eines Bildes im cardo4 Maptip
  1. Hinterlegen Sie das Bild in das Verzeichnis: ...\cardoSystem\_Projekt_XYZ\IISvirtualDir (ggf. erstellen Sie im IISvirtualDir noch ein Unterverzeichnis)
  2. Definieren Sie den Maptip im Feld HTML-Vorlage: <img src="\project\Bilder\Beispielbild.png">
  3. Überprüfen Sie die Anzeige im cardo4 (ggf. ist der cardo Cache im Managementcenter zu löschen)

 
 
Öffnen einer Datei über Maptip

Ablegen der Dateien im Ordner:

...\cardoSystem\_Projekt_XYZ\IISvirtualDir

Es können auch dort weitere Unterverzeichnisse anlegt werden:

...\cardoSystem\_Projekt_XYZ\IISvirtualDir\Pdfs

Verlinkung im Maptip:

Datei öffnen: <a href="\project\Pdfs\{0}" target="_blank"> PDF</a>

{0} muss die Spalte sein, in welcher der Name der Daei steht.

Im ist cardo immer den Cache über das Dashboard zu leeren, wenn Änderungen am Maptip vorgenommen wurden!

 

Daten-Browser Pfad über Maptip öffnen (cardo4)

Im Maptip ist es möglich mittels JavaScript einen Ordner im Daten-Browser für die Nutzer anzuzeigen. Im Maptip kann dazu folgendes notiert werden:

<a href='JavaScript:IduIT.Cardo4.Apps.FileBrowser.openAndNavigateTo("Rasterdateien","//Beispiel für Hilfe");'>Projektordner öffnen</a>

Rasterdateien: dies ist der Aliasname, welcher administrativ in den Einstellungen zum Daten-Browser für diesen Pfad hinterlegt wurde.

Hinweis: wird eine Pfadangabe im Alias genutzt, so müssen die Pfadangaben maskiert werden:

D:\\Testfiles\\Raster

D:\Testfiles\Raster\Beispiel für Hilfe: ist der relative Pfad zum Ordner im Daten-Browser. Alternativ kann natürlich auch hier eine Pfadangabe aus den Sachdaten genutzt werden (bspw. mit {1}).

Projektordner öffnen: ist der Linktitel, der im Maptip erscheint.

Daten-Browser Tabelle über Maptip öffnen

Mittels folgendem Link, kann auf eine DB Tabelle im Daten-Browser verlinkt werden. Mit Klick auf dem Link im Maptip wird die Sachdatenanzeige mit allen Datensätzen geöffnet.

DB_ALIAS: ist der Alias der DB

schema: der Schemaname

tabelle: der Tabellenname

Linkname: Linktitel der im Maptip angezeigt wird

 

<a href="#" onclick="IduIT.cardo.Core.Applications.AnyDatasource.AnyDataSourceApplication.

showTableDataByObjectIdentifier('dbdb://DB_ALIAS::schema.tabelle');">Linkname</a>

Maptip eines WMS Dienstes als separates Fenster öffnen? (cardo4)

Vorgehensweise zur Formatierung des Maptipergebnisses für WMS Dienste

Hinweis für den Administrator: Einstellung -WMS - Eigenschaften:
Parameter =>  wmsGetFeatureInfoFormatOrder: text/plain / text/html

Wird der Parameter wmsGetFeatureInfoFormatOrder gesetzt, so wird automatisch im Maptip folgender Link definiert:

 

Mit Klick auf den Link öffnet sich ein weiterer Tab mit dem Inhalt des Klickpunktes: (HTML)

 

CSS Datei im Maptip einbinden

Die Formatierung für den Maptip soll aus einer CSS Datei gelesen werden. Diese speichern Sie bitte im Projektordner unter IISVIRTUALDIR. Dort können Sie einen weiteren Unterordner anlegen, bpsw. ...\_IHRPROJECT\IISvirtualDir\css.

Die CSS Datei kann folgenden Inhalt haben:

p {
  background-color: red;
}

Das HTML im Maptip kann folgendermaßen definiert werden:

<link rel="stylesheet" href="/Project/css/NameDerCSSDatei.css?1">
<p> Bundesland: {0} </p>

Das ?1 hinter dem Link lädt die CSS Datei beim Aufruf neu, da das CSS im cardo4 gecacht wird. Diese Ergänzung ist zum Einrichten des Maptips hilfreich.

Maptip mit Link

Links auf Sachdatenspalten können Sie auch im Maptip notieren.

Ist die Sachdatenspalte leer, so gibt es im Moment nicht die Möglichkeit diese leeren Sachdatenspalten zu prüfen bzw. im Maptip nicht anzuzeigen. Die Umsetzung mittels Templates (siehe nächster Eintrag) ist noch nicht implementiert.

Sie könnten nur im Maptip auf die Sachdatenanzeige verweisen. Dort findet die Linkauswertung korrekt statt.

Auswertung von Templates im cardo4 Maptip

Templates in der Form:

<Tpl
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tpl="http://schemas.webs.idu.de/cardo3/templates"
xsi:noNamespaceSchemaLocation="http://webs.idu.de/xsdschemas/Cardo/Button/templates.xsd">
<!-- immer ausgeben ... -->
   <tpl:plain>Wert: {0}</tpl:plain>
   <tpl:if>
     <!-- Bedingung definieren -->
     <ButtonComparision xmlns="http://schemas.webs.idu.de/cardo3/Button">
       <SingleComparison compareBehavior="Default">
         <ColumnName>CellValue</ColumnName>
         <Is>202</Is>
       </SingleComparison>
     </ButtonComparision>
     <!-- wenn zutrifft ..-->
  ...

werden im cardo4 noch nicht ausgewertet.

 

WMS und Maptip

WMS und Maptip - Hintergrundinfos

Seitens der IDU wird es keine Unterstützung für WMS und Maptip geben.

In der Art und Weise, wie der Maptip intern funktioniert ist es technisch nicht möglich diesen korrekt abzufragen. Für die Maptip-Funktion muss die Datenquelle "strukturiert" und "abfragbar" sein.  

WMS GetFeatureInfo bietet nichts davon. Die einzige Abfrageform ist ein Punkt. Es ist allerdings nicht möglich, diesen Punkt mit absoluten geografischen Koordinaten anzugeben, sondern es muss ein virtuelles "Kartenbild" konstruiert und dann eine relative lokale Koordinate (Pixel) dieses Bildes angeben werden. Selbst wenn man hier eine Sonderbehandlung einführen würde. Die Antwort ist dann "irgendwas". Man kann sich meistens noch wünschen, ob HTML oder purer Text (siehe Parameter wmsGetFeatureInfoFormatOrder) geliefert werden soll.

Die Anzeige der Informationen im Maptip von cardo4, statt in einem neuen Browserfenster, ist schwer möglich, da besonders die HTML-Antworten das Potential haben, die ganze Webseite zu beeinträchtigen, in der sie eingebettet sind (CSS, JavaScripte). Korrekt aussehen tun sie im eingebetteten Zustand praktisch nie (hier auch wieder CSS-Konflikte). Die Textform kann man i.d.R. auch keinem Nutzer anbieten. I.d.R. kann der Aufrufer auch nicht erkennen, ob das GetFeatureInfo nun einen Treffer geliefert hat oder nicht. 

Hinweis zu WMS Maptips, wenn der WMS viele Layer enthält

Meldung, dass der Maptip nicht aufgerufen werden kann "Der Maptip für Ebene "... " konnte nicht abgerufen werden: SOURCE:iwan angeforderte Ressource https://... wurde nicht gefunden. Statuscode 404.

Für alle Layer wird ein GetFeature-Request abgesetzt. Dieser wird bei einem WMS mit sehr vielen Layern zu lang. Der GetFeature Request hat aber eine Zeichenlängenbegrenzung, welche die Fehlermeldung hervorruft.

Lösung: stellen Sie weniger Layer für diese WMS Dienst ein.

Wird das GetFeatureinfo geliefert, kommt es bei diesen Diensten vor, dass zu viele Ebenen in der HTML Ansicht gezeigt werden. Auch hier sollten Sie den WMS auf weniger Layer beschränken.