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

Die Anwender sehen die Tooltips nur dann, wenn diese im Client aktiviert sind, die Karte eingeschaltet ist, sowie die Tooltips in der definierten Zoomstufe vorhanden sind.
Voraussetzungen
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.

Add & Remove
Über den Button Add kann ein neuer Tooltip angelegt werden. Über den Button
Remove kann ein ausgewählter Tooltip gelöscht werden.
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, dass diese sichtbar sind, wenn die Elemente des Tooltips erstellt sind und deutlich am Bildschirm zu erkennen sind. Je niedriger sie den "Min Zoomlevel" einstellen desto mehr Abfragen auf die Datenbank werden im Hintergrund generiert.
Empfehlung ist den "Min Zoomlevel" nicht höher als 18/19 einzustellen, sodass die Informationen beim Überfahren der Kartenelemente mit der Maus auch unterscheidbar sind.
Es werden maximal 20000 Objekte pro Anzeigeauschnitt, wählen Sie deshal den Min Zoom Level entsprechend.
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 sich die Maus innerhalb des Suchradius befindet.
Datenbankverbindung
Hier ist die Datenbankverbindung auszuwählen.

Definition der SQL Abfrage
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.
Der Wert des ersten Feldes (Schlüsselfeld) MUSS eindeutig sein! Ist dieser nicht eindeutig wird jeweils nur der erste Datensatz aller eindeutigen Schlüsselfeldwerte angezeigt.
Es werden maximal 20000 Objekte pro Anzeigeauschnitt, wählen Sie deshal den Min Zoom Level entsprechend.
Benutzen von Views oder Kombinationen von Tabellen (JOIN)
Kombiniert man Tabellen in der Tooltip SQL Abfrage, dann muss man einen eindeutigen Schlüssel bilden damit alle Werte angezeigt werden.
Beispiel:
Wir haben eine Tabelle BAUM und eine Tabelle BAUM_INFO.
In der Tabelle BAUM_INFO kann es zu jedem BAUM mehrere Datensätze geben.
Gibt man nun folgenden Tooltip SQL an, dann ist das erste Feld nicht eindeutig!!
select f.fid, f.geom, a.fid, a.info from BAUM f, BAUM_INFO a where f.fid = f.fid_baum and {filter}
| f.fid | a.fid | a.info |
|---|---|---|
| 1 | 101 | muss ersetzt werden |
| 1 | 127 | gegossen am 2.2.2015 |
| 1 | 219 | gegossen am 7.2.2016 |
| 2 | 277 | muss entfernt werden |
| 2 | 292 | steht im weg |
Als Ergebnis kommen dann im Tooltip nur die ersten Datensätze und nicht alle, also:
| f.fid | a.fid | a.info |
|---|---|---|
| 1 | 101 | muss ersetzt werden |
| 2 | 277 | muss entfernt werden |
Damit man alle Datensätze bekommt muss das erste Feld eindeutig sein.
Dies erreicht man in dem man die FID Spalten aller Tabellen zu einem Feld kombiniert.
(f.fid||'-'||a.fid) as ufid
also den SQL so umformuliert:
select (f.fid||'-'||a.fid) as ufid, f.geom, f.fid, a.fid, a.info from BAUM f, BAUM_INFO a where f.fid = f.fid_baum and {filter}
| ufid | f.fid | a.fid | a.info |
|---|---|---|---|
| 1-101 | 1 | 101 | muss ersetzt werden |
| 1-127 | 1 | 127 | gegossen am 2.2.2015 |
| 1-219 | 1 | 219 | gegossen am 7.2.2016 |
| 2-277 | 2 | 277 | muss entfernt werden |
| 2-292 | 2 | 292 | steht im weg |
Damit sind die Werte der ersten Spalte eindeutig und alle Datensätze werden im Tooltip angezeigt.
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 werden die Ausführungsdauer und der SQL-Query 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)
Die Ausführungsdauer schwankt selbstverständlich je nach Größe des Kartenausschnitt bzw. der Zoomstufe. Je mehr Elemente sichtbar sind, desto langsamer wird die Abfrage.
Tooltips bei Flächen
Wenn mehrere Flächen übereinanderliegen, dann kann der Tooltip die Infos der richtigen Fläche teilweise nicht sauber 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 Setzen einer ORDER BY im SQL steuern.
Generell: Beachten Sie, dass performante und optimierte SQLs verwendet werden sollten, sonst wird die Geschwindigkeit von MapEdit beeinträchtigt. Zum Test hierzu die Funktion Test SQL verwenden, da bekommen sie Daten zur Ausführungsdauer.
Schablone
Bei der Schablone geben Sie den Text an, der im Tooltip angezeigt werden soll.
Es können Werte aus dem Eintrag bei SQL verwendet werden. Dazu diese in geschweiften Klammern Beispiel: {NAME_NUMBER} 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)
Optional kann XAML Code verwendet werden um Tooltips zu gestalten.
Kenntnisse in XAML werden hierfür vorausgesetzt. MuM kann keinen kostenlosen Support für XAML anbieten. Besuchen Sie bitte eine Schulung oder verwenden Sie die zahlreichen Ressourcen zum Thema XAML im Internet.
Man kann an jeder Stelle in dem XAML Code-Feldnamen in { } verwenden. Bei der Tooltip Konfiguration 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/configure-tooltips/logos/logo-mum-320x63.png" />
<TextBlock Text="Fid:{FID}"/>
</StackPanel>
</Grid>
Vor dem <Grid> dürfen keine Leerzeichen stehen und die Gross/Kleinschreibung muss genauso aussehen. Also <Grid> am Anfang und am Ende steht </Grid>. Ansonsten erkennt MapEdit nicht das es sich um einen XAML Tooltip handelt.
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/configure-tooltips/logos/logo-mum-320x63.png" />
</StackPanel>
</Grid>

Zeilenvorschub in XAML kann mit diesen Zeichen erreicht werden: 
 oder hexadezimal 
 Wagenrücklauf in XAML kann mit diesen Zeichen erreicht werden: 
 oder hexadezimal 
XAML Tooltip mit direkter Anzeige hinterlegter Fotos
Man kann beim Tooltip hinterlegte Fotos gleich direkt anzeigen 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/reparation 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>
Korrektur der EXIF Orientierung von Bildern
Mit Mobilen Geräten aufgenommene Bilder sind oft gedreht aufgenommen. Die Drehung wird oft in den EXIF Metadaten (Exchangeable image file format ) des Bildes mit gespeichert.
Leider korrigiert das Standard "Microsoft Image Anzeige Element", das Bilder anzeigen kann, diese Drehung nicht und Bilder werden dann verdreht angezeigt.
MuM hat daher ein eigenes Anzeige Element entwickelt das die Drehung aus den Metadaten des Bildes liest und dann die Drehung korrigiert.
Beispiel mit "Image" Control
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<Image Height="300" Source="http://localhost/Fotos/image127.jpg"/>
</StackPanel>
</Grid>

Beispiel mit MuM "XImageViewer" Control das die Drehung korrigiert.
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<XSystem:XImageViewer Height="300" Url="http://localhost/Fotos/ori/image127.jpg"/>
</StackPanel>
</Grid>
Beachten Sie das die Eigenschaft für die Url des Bildes "Url" heißt und nicht "Source".
Wenn Sie Ihre Url bei der Eigenschaft "Source" angeben wird das Bild nicht gedreht.

Hinweise zur Benutzung von Tooltips
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.


Solange sie den Zoombereich nicht verschieben, wird die Tooltip Abfrage nicht nochmals ausgeführt, da die Elemente bereits geladen sind. Daher muss die Karte an einen neuen Koordinatenbereich geschoben werden, bevor man einen Eintrag in den Log Optionen angezeigt bekommt.
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.
Tooltip Beispiel View mit EXISTS
Hyperlink
Hyperlinks sind nur in Verbindung mit Tooltips möglich.
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.
Sofern ein Hyperlink angegeben ist wird dies unterhalb des Tooltips angezeigt und durch das Drücken der CTRL/STRG Taste ausgeführt.

Dialoge via Hyperlink öffnen
Via Hyperlink können MapEdit Generic Formulare geöffnet werden.
Hierfür muss beim Hyperlink folgende Syntax verwendet werden
OPENDIALOG Datenbankverbindungsname.Tabelle.Vorlage, Filter
Beispiel:
OPENDIALOG STMORITZ_EW.EL_POINT.DEFAULT,FID={FID}
Exe Dateien via Hyperlink ausführen
Via Hyperlink können beliebige EXE Dateien ausgeführt werden.
Hierfür muss beim Hyperlink folgende Syntax verwendet werden
START "Exe Datei name"
Beispiel:
START c:\meine.exe
Das kann man auch dazu verwenden wenn man gezielt nicht den Standardbrowser aufmachen will sondern einen anderen Browser.
Beispiele:
START CHROME https://www.google.de
START IEXPLORE https://www.google.de (Kein schreibfehler, IEXPLORE not IEXPLORER)
Scripts via Hyperlink ausführen
Via Hyperlink können MapEdit C#/VB Scripte ausgeführt werden.
Hierfür muss beim Hyperlink folgende Syntax verwendet werden
RUNSCRIPT PluginName, FunctionName, Parameter
für PluginName "null" angeben wenn es im normalen Scripting Code von MapEdit ist.
Beispiel:
RUNSCRIPT null,Test123,Hello {FID}
Das Vorgehen ist ähnlich wie bei "Skripte->Funktion via Ribbon Knopf aufrufen" https://help.mapedit.de/docs/dokumentation/MapEdit-AppBuilder/scripts/ribbon-button-function
d.h.
Im Skript Editor auf das Register "Funktionen" gehen. Hinzufügen drücken und einen Funktionsnamen eingeben z.B. "Test123" und dann diese Code eingeben und danach KOMPILIEREN und Speichern drücken.
c# Beispiel:
public override void Execute(string parameter)
{
this.MessageBox("Test " + parameter)
}
VB Beispiel:
Public Overrides Sub Execute(parameter as string)
Me.MessageBox("Test " & parameter)
End Sub
Achten Sie darauf das rechts oben die richtige Sprache (also C# oder VB) gewählt ist!
Tooltips einem spezifischen Layer zuweisen
Wenn Sie bei "Layer" den Namen des Layers angeben dann wird der Tooltip nur angezeigt wenn der Layer eingeschaltet ist.

Ab Version 25.2.64 gibt es hinter der Layer Eingabebox einen Knopf mit dem der Layername mittels Auswahldialog ausgewählt werden kann.
Bei Versionen vor 25.2.64 muss der Layername wie hier beschrieben ermittelt werden.
https://help.mapedit.de/docs/dokumentation/MapEdit-AppBuilder/scripts/api-script-switch-layer
Wenn der Layername nicht exakt ist oder Leerzeichen davor oder danach hat dann wird die Funktion den Layer nicht erkennen und wird den Tooltip nie anzeigen.
Tooltips einzeln ein und ausschalten
Tooltips können einzeln ein und ausgeschaltet werden. Dazu befindet sich im Ebenen Fenster ein Register "Tooltips"
Die Tooltips sind nach Karte geordnet. Wenn eine Karte ausgeschaltet ist werden die zugehörigen Tooltips inaktiv geschaltet (grau dargestellt) und können nicht umgeschaltet werden.
Benutzen Sie den Schalter "sichtbar bei Start" um den Startzustand festzulegen.

Mehrere Datensätze anzeigen (DataRepeater)
Ein Tooltip zeigt pro Tooltip-Definition nur einen Datensatz an. Bei Punkten und Linien ist das der Datensatz, der dem Mauszeiger am nächsten liegt. Wenn Sie zusätzlich weitere Datensätze auflisten möchten (zum Beispiel alle übereinander liegenden Leitungsabschnitte oder alle Detaildatensätze zu einem Objekt), können Sie in der Schablone eine zweite Abfrage hinterlegen und deren Ergebnis wiederholt ausgeben lassen.
Dazu gibt es die Elemente <DataRepeater> und <SqlQuery>.
Aufbau
Text vor der Liste
<DataRepeater>
<DataRepeaterHead>
Kopfzeile der Liste
</DataRepeaterHead>
<SqlQuery Connection="Verbindungsname">
select ...
</SqlQuery>
Zeile, die je Datensatz wiederholt wird: {SPALTE1} {SPALTE2}
<DataRepeaterFoot>
Fusszeile der Liste
</DataRepeaterFoot>
</DataRepeater>
Text nach der Liste
Alles, was zwischen </SqlQuery> und </DataRepeater> steht, wird für jeden
Datensatz der Abfrage einmal ausgegeben. <DataRepeaterHead> und
<DataRepeaterFoot> sind optional und werden nur ausgegeben, wenn die Abfrage
mindestens einen Datensatz liefert.
Wie die Werte übergeben werden
Die Feldwerte des Haupt-SQL werden ersetzt, bevor die Abfrage im
<SqlQuery> ausgeführt wird. Sie können die Felder des Haupt-SQL daher direkt
im SQL der Unterabfrage verwenden:
select a.info as AINFO from BAUM_INFO a where a.fid_baum = {FID}
Aus {FID} wird zur Laufzeit der FID-Wert des Objektes, über dem die Maus
steht.
Die Spalten der Unterabfrage müssen anders heissen als die Spalten des
Haupt-SQL. Sonst wären die Platzhalter bereits durch die Werte des Haupt-SQL
ersetzt, bevor die Unterabfrage ausgeführt wird. Vergeben Sie deshalb einen
ALIAS, zum Beispiel a.fid as AFID.
Beispiel 1: Detaildatensätze zu einem Objekt
Zu jedem Baum aus der Tabelle BAUM sollen alle Einträge der Tabelle
BAUM_INFO aufgelistet werden.
SQL des Tooltips:
select f.fid, f.geom, f.art from BAUM f where {filter}
Schablone:
Baum {FID} ({ART})
<DataRepeater>
<DataRepeaterHead>
Pflegehinweise:
</DataRepeaterHead>
<SqlQuery Connection="GRUEN">
select a.fid as AFID, a.info as AINFO
from BAUM_INFO a
where a.fid_baum = {FID}
order by a.fid
</SqlQuery>
- {AFID}: {AINFO}
</DataRepeater>
Ergebnis im Tooltip:
Baum 1 (Linde)
Pflegehinweise:
- 101: muss ersetzt werden
- 127: gegossen am 2.2.2015
- 219: gegossen am 7.2.2016
Beispiel 2: Übereinander liegende Linien
Bei mehreren übereinander liegenden Linien zeigt der Tooltip nur die Linie an, die dem Mauszeiger am nächsten liegt. Über eine Unterabfrage können die übrigen Linien in der Umgebung zusätzlich aufgelistet werden.
Verwenden Sie dafür einen Operator mit Abstand, zum Beispiel
SDO_WITHIN_DISTANCE bei Oracle oder ST_DWithin bei PostgreSQL/PostGIS.
Ein rein topologischer Operator wie SDO_RELATE mit mask=ANYINTERACT findet
nur Linien, die sich tatsächlich berühren oder überlagern. Linien, die nur
wenige Zentimeter versetzt sind, werden damit nicht gefunden.
SQL des Tooltips:
select f.fid, f.geom, f.spannungsebene from AM_LEITUNGSABSCHNITT f
where {filter} order by f.fid
Schablone (Oracle):
Leitungsabschnitt {FID} / {SPANNUNGSEBENE}
<DataRepeater>
<DataRepeaterHead>
Weitere Abschnitte in der Nähe:
</DataRepeaterHead>
<SqlQuery Connection="IWB">
select a.fid as AFID, a.spannungsebene as ASPG
from AM_LEITUNGSABSCHNITT a, AM_LEITUNGSABSCHNITT b
where b.fid = {FID}
and a.fid <> b.fid
and sdo_within_distance(a.geom, b.geom, 'distance=0.5 unit=METER') = 'TRUE'
order by a.fid
</SqlQuery>
- {AFID} / {ASPG}
</DataRepeater>
Regeln und Einschränkungen
<SqlQuery,</SqlQuery>,<DataRepeater>,</DataRepeater>,<DataRepeaterHead>,</DataRepeaterHead>,<DataRepeaterFoot>und</DataRepeaterFoot>müssen jeweils alleine in einer Zeile stehen und exakt so geschrieben werden. Leerzeichen davor oder danach sind erlaubt, weiterer Text in derselben Zeile nicht.- Der Verbindungsname wird aus dem ersten Anführungszeichen-Paar der Zeile
gelesen:
<SqlQuery Connection="IWB">. Es kann eine beliebige eingerichtete Datenbankverbindung verwendet werden, auch eine andere als beim Tooltip selbst. - Das SQL darf über mehrere Zeilen gehen.
- Pro
<DataRepeater>ist nur eine<SqlQuery>erlaubt.<DataRepeater>können nicht ineinander verschachtelt werden. Mehrere<DataRepeater>nacheinander sind möglich. - Die Platzhalter
{filter},{west},{south},{east},{north}und{srid}stehen in der Unterabfrage nicht zur Verfügung. Die Unterabfrage wird nicht räumlich eingeschränkt; schränken Sie sie selbst ein, zum Beispiel über die FID des Hauptobjektes. - Der Wert bei
distancebestimmt, wie weit entfernte Objekte noch aufgelistet werden. Passen Sie ihn an Ihre Daten an. Beachten Sie, dass bei einem Liniennetz auch die angrenzenden Abschnitte gefunden werden, die am Knoten mit dem Hauptobjekt zusammenhängen. <DataRepeater>funktioniert sowohl bei einfachem Text als auch innerhalb einer XAML-Schablone. Die Liste wird erzeugt, bevor das XAML ausgewertet wird, das Ergebnis muss also weiterhin mit<Gridbeginnen und mit</Grid>enden.
Die Unterabfrage wird bei jedem Anzeigen des Tooltips ausgeführt, also jedes Mal, wenn der Anwender mit der Maus über ein Objekt fährt. Sie wird nicht zwischengespeichert. Verwenden Sie deshalb nur schnelle, indizierte Abfragen. Eine langsame Unterabfrage macht die Karte beim Überfahren von Objekten zäh.