Hier wird beschrieben wie sie Tooltips erstellen können, welche in der Karte den Anwendern angezeigt werden.

Vorraussetzungen
Um Tooltips nutzen zu können, muss eine Datenbankverbindung eingerichtet sein. Unterstützt werden Oracle, SQLITE oder PostgreSQL Datenbanken.
Datenbank Verbindung

Kartenverwaltung Karte
Eingerichtet werden die Tooltips in der Kartenverwaltung bezogen auf die jeweilige Karte. Über den Button TOOLTIPS KONFIGURIEREN, können diese erstellt oder entfernt werden.

Konfiguration
Dies ist der Dialog zur Konfiguration der Tooltips in einer Karte.

Funktionen
Folgende Funktionen / Buttons stehen zur Verfügung.
Add & Remove
Über den Button ADD kann einer neuer Tooltip angelegt werden. Über den Button
REMOVE kann ein ausgewählter Tooltip gelöscht werden.
Test SQL
Beim Ausführen der Funktion bzw. des Buttons TEST SQL wird das SQL getestet. Dazu wird sofern geöffnet der aktuelle Kartenausschnitt und Zoomstufe verwendet.

Es wird die Ausführungsdauer und der SQL angezeigt der ausgeführt wird. Damit die beste Performance erreicht wird, sollte man immer genau prüfen inwiefern das SQL optimal ist. Wenn die Abfrage z.B. eine Sekunde dauert ist das langsam und wird bei jedem Zoom/Pan der Karte die Anzeige verzögern. (sofern die Tooltips aktiviert sind)
Min & Max Zoom Level
Schränken Sie den Zoomlevel so gut es geht ein, damit Sie die beste Performance für die Anwender bekommen.

Es macht Sinn den „Min Zoomlevel“ so einzustellen wenn die Elemente für die ein Tooltip erstellt wurde und auch deutlich am Bildschirm zu erkennen sind. Je niedriger sie den „Min Zoomlevel“ einstellen desto mehr Abfragen auf die Datenbank werden im Hintergrund generiert.
Suchradius

Der Wert des Suchradius bestimmt die ungefähre Größenordnung am Bildschirm. Wenn man mit der Maus über ein Element fährt bei dem ein Tooltip definiert ist, dann wird der Tooltip erst angezeigt wenn die Maus sich innerhalb des Suchradius befindet.
Datenbankverbindung
Hier ist die Datenbankverbindung auszuwählen.

SQL
Die angegebene SQL-Abfrage muss als erstes Feld die FID (oder anderes eindeutiges Feld) und als zweites das GEOM Feld zurück liefern. Danach können beliebige Felder folgen. Sollten sie Funktionen verwenden, vergeben sie bitte einen ALIAS Namen.

Beispiel: select f.fid, f.geom, f.NAME_NUMBER from ww_manhole f where {filter}
Der Parameter {filter} wird zur Laufzeit durch die Spatialabfrage ersetzt. Dieser ist zwingend notwendig und muss nach der where clause stehen.
Beispiel für erweitertes SQL:
select f.fid, f.geom, round(f.area) as area from DFK_GEBAEUDE f where sdo_relate(f.geom,mdsys.sdo_geometry(2003,{srid},NULL, mdsys.sdo_elem_info_array(1,1003,3), mdsys.sdo_ordinate_array({west},{south},{east},north})), 'mask=ANYINTERACT querytype=WINDOW') = 'TRUE'
Die Parameter in den geschweiften Klammern werden zur Laufzeit ersetzt.
Tooltips bei Flächen
Wenn mehrere Flächen übereinanderliegen, dann kann der Tooltip teilweise nicht sauber die Infos der richtigen Fläche anzeigen. Dann muss man die Reihenfolge der Objekte im Select festlegen. Zum Beispiel kann nach der Flächengröße (Area) sortiert werden oder zum Beispiel nach einem Feld wo man eine Priorität festlegt. Wenn man nach der Flächengröße sortieren will, dann zeigt es so den Tooltip der kleinsten Fläche an.
Beispiel: select f.fid, f.geom from GRUENFLAECHEN f where {filter} order by area
Bei den Tooltips wird die Reihenfolge der Datensätze beachtet. D.h. wenn mehrere
Datensätze zu einem Objekt gefunden werden, wird nur der erste Datensatz angezeigt. Man kann dies durch setzten einer ORDER BY im SQL steuern.
Schablone

Bei der Schablone geben Sie den Text an, der im Tooltip angezeigt werden soll an.
Es können Werte aus dem Eintrag bei SQL verwendet werden. Dazu diese in geschweiften Klammern Beispiel:{NAME_NUMER} und in Großbuchstaben angegeben. Zeilenumbrüche müssen nicht durch Steuerzeichen angegeben werden, sondern werden einfach durch Drücken der ENTER Taste eingegeben.

XAML (optional)
Man kann an jeder Stelle in dem XAML Code Feldnamen in { } verwenden. Bei der Tooltipkonfiguration gibt man im Feld „Schablone“ folgendes ein wenn man zum Beispiel ein Bild einbauen möchte:
<Grid Height="180" Width="250" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <StackPanel> <Image Height="31" Source="https://www.mum.de/-/media/mum/images/logos/logo-mum-320x63.png" /> <TextBlock Text="Fid:{FID}"/> </StackPanel> </Grid>
Da wo in diesem Beispiel die URL zu dem MuM Bild steht, könnte auch ein Feldnamen verwendet werden, beispielsweise {BILDURL} um ein dynamisches Bild anzuzeigen. Hier noch ein erweitertes Beispiel:
<Grid Height="180" Width="250" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <StackPanel> <TextBlock Foreground="Blue" Width="250" Height="20" TextWrapping="Wrap"> Wasserleitung: {DIAMETER_INSIDE}mm {FUNKTION} {MATERIAL} </TextBlock> <TextBlock Foreground="Red" Width="250" Height="20" TextWrapping="Wrap"> <Bold> Für weitere Informationen bitte Formular öffnen. </Bold> </TextBlock> <Image Height="31" Source="https://www.mum.de/-/media/mum/images/logos/logo-mum-320x63.png" /> </StackPanel> </Grid>

XAML Tooltip mit direkter Anzeige hinterlegter Fotos
Man kann beim Tooltip hinterlegte Fotos gleich direktanzeigen lassen.
Beispiel:

Und wenn kein Bild vorhanden ist, dann klappt sich der Tooltip ein:

Und hier der erforderliche XAML Code:
<Grid Background="LemonChiffon" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.Column="0" Background="LightGray" />
<TextBlock Grid.Row="0" Grid.Column="0" Margin="5" Text="Incident/réparation des infrastructures du SIDEN." FontWeight="Bold" />
<TextBlock Grid.Row="1" Grid.Column="0" Margin="5" Foreground="Blue" Text="{DESCRIPTION}" TextWrapping="Wrap" />
<Image Grid.Row="2" Grid.Column="0" Margin="5" Height="Auto" Source="{LINKBILD1}" />
<TextBlock Grid.Row="3" Grid.Column="0" Margin="5" Foreground="DarkGray" Text="(autres image(s) --> selection et ouvrir formulaire!)" TextWrapping="Wrap" />
</Grid>
Hyperlink
Die Hyperlinks können durch das Drücken der Taste CTRL/STRG während der Tooltip sichtbar ist aktiviert werden. Beim Text Hyperlink tragen sie die zu öffnende URL ein. Wie bei den Tooltips können Feldwerte aus dem SQL in { } angegeben werden.
SQL im Tooltip:
select f.FID, f.GEOM, f.NAME, f.SCHACHT_FID from VIEW_AW_SCHACHT f where {filter} order by area
Und hier ein Beispiel für einen Hyperlink Eintrag um auf einer Seite der Funktion zum Anzeigen von Bildern die FID dynamisch als Parameter mit zu übergeben.
http:\\www.schachtbauwerke.de?ZeigeBilderZuSchacht={FID}
Es können auch komplexe Hyperlinks zur Weiterleitung konfiguriert werden.

Hinweise zur Benutzung
In dem MapEdit Projekt kann der Anwender die Tooltips bei Bedarf ein- und ausschalten:

An der Farbe dieses Optionenfeldes „Tooltip“ kann man erkennen, ob das Laden der
Tooltips fertig ist oder noch andauert. Wenn es schwarz angezeigt wird, dann ist der
Tooltip fertig. Bei langsamen Selects kann das etwas dauern. Oder wenn man in einem Gebiet ist, wo es keine Objekte mit diesem Tooltip gibt, wird die Option ausgegraut angezeigt:

Wenn die Tooltips nicht angezeigt werden, können Sie im MapEdit Desktop Client unter Log die Abfrage / SQL sich anzeigen lassen und prüfen ob hier ein Fehler aufgetreten ist.


Weiterführende Informationen
Hier finden sie einen Link zu einem Beispiel für eine Tooltip Konfiguration welche auf ein View mit SQL-Befehl EXISTS geht. Mit dem EXISTS-Operator wird geprüft, ob ein Datensatz in einer Unterabfrage vorhanden ist. Öffnen sie den Ordner Knowledgebase, dort befindet sich ein PDF zu den Tooltips.