[erledigt] MapView PointsOfInterest
- juelin
- Lazarusforum e. V.
- Beiträge: 362
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
[erledigt] MapView PointsOfInterest
Hallo,
ich muss in meinem Programm in der MapView unter
PointsOfInterrest 999 TMapPointsOfInterest eintagen. (Eintrag hinzufügen).
Das kann ich natürlich händisch machen, aber das ist mir zu viel arbeit.
Gibt es eine Möglichkeit das per Programm zu machen?
Zusätlich muss auch das Ereignis OnDrawPoint gefüllt werden.
Gerne mit Beispielcode.
Danke und Gruß
Jürgen
ich muss in meinem Programm in der MapView unter
PointsOfInterrest 999 TMapPointsOfInterest eintagen. (Eintrag hinzufügen).
Das kann ich natürlich händisch machen, aber das ist mir zu viel arbeit.
Gibt es eine Möglichkeit das per Programm zu machen?
Zusätlich muss auch das Ereignis OnDrawPoint gefüllt werden.
Gerne mit Beispielcode.
Danke und Gruß
Jürgen
Zuletzt geändert von juelin am Di 24. Mär 2026, 21:40, insgesamt 1-mal geändert.
- juelin
- Lazarusforum e. V.
- Beiträge: 362
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MapView PointsOfInterest
Hallo wp_xyz,
habe mal Dein Vorschlag ausprobiert.
Bei dem ersten Befehl (Add) bekomme ich bei der Compelierung
die Fehlermeldung: unit1.pas(560,71) Error: Illegal expression
Wenn ich den Befehl auskommentiere (wie oben)
läuft das Programm zwar, aber es werden durch den Create KEINE Points angelegt.
Hast Du eine Erklärung?
Danke und Gruß
Jürgen
habe mal Dein Vorschlag ausprobiert.
Code: Alles auswählen
for h6:=1 to 3 do
begin
// MapView1.Layers[0].PointsOfInterest.Add as TMapPointOfInterest;
TMapPointOfInterest.Create(MapView1.Layers[0].PointsOfInterest);
end;
die Fehlermeldung: unit1.pas(560,71) Error: Illegal expression
Wenn ich den Befehl auskommentiere (wie oben)
läuft das Programm zwar, aber es werden durch den Create KEINE Points angelegt.
Hast Du eine Erklärung?
Danke und Gruß
Jürgen
- juelin
- Lazarusforum e. V.
- Beiträge: 362
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MapView PointsOfInterest
Hallo wp_xyz,
muss mich korregieren (Sorry).
Das Anlegen von Points klappt zwar,
aber ich kann die neuen Points nicht im Objectinspector sehen.
Gibt es da einen Trick?.
Danke und Gruß
Jürgen
muss mich korregieren (Sorry).
Das Anlegen von Points klappt zwar,
aber ich kann die neuen Points nicht im Objectinspector sehen.
Gibt es da einen Trick?.
Danke und Gruß
Jürgen
Re: MapView PointsOfInterest
Keine Ahnung, vielleicht hast du keine Layer erzeugt? Im beigefügten Beispiel funktionierts.
- Dateianhänge
-
add_points_of_interest.zip- (6.45 KiB) 20-mal heruntergeladen
Re: MapView PointsOfInterest
Das ist doch immer so: alles was du zur Laufzeit per eigenem Code erzeugst, ist im Objektinspektor nicht sichtbar.juelin hat geschrieben: Di 24. Mär 2026, 17:18 Hallo wp_xyz,
muss mich korregieren (Sorry).
Das Anlegen von Points klappt zwar,
aber ich kann die neuen Points nicht im Objectinspector sehen.
Gibt es da einen Trick?.
Danke und Gruß
Jürgen
- juelin
- Lazarusforum e. V.
- Beiträge: 362
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MapView PointsOfInterest
Hallo wp_xyz,
Du sagst das ist immer so (zur laufzeit erzeugte Komponeten werden nicht im
Objectinspektor angezeigt).
Gibt es da vielleicht eine Möglichkeit die Komponenten trotzdem
im Objectenspektor an zu zeigen?
Ich möchte kontrollieren ob das Ereignis OnDrawPoint richtig besetzt ist.
Danke und Gruß
Jürgen
Du sagst das ist immer so (zur laufzeit erzeugte Komponeten werden nicht im
Objectinspektor angezeigt).
Gibt es da vielleicht eine Möglichkeit die Komponenten trotzdem
im Objectenspektor an zu zeigen?
Ich möchte kontrollieren ob das Ereignis OnDrawPoint richtig besetzt ist.
Danke und Gruß
Jürgen
Re: MapView PointsOfInterest
Die Punkt-Koordinaten und den Titel musst du händisch im Objekt-Inspektor eintragen. Der Punkt wird dann automatisch mit Kreuz und Beschriftung angezeigt. Die Text-Positionierung kann mit TextPositionHor und TextPositionVert geändert werden. Das OnDrawPoint-Event wird zur Entwurfszeit nicht ausgeführt, denn das was man zur Entwurfszeit sieht, wird von der IDE gezeichnet, aber die IDE kennt deinen OnDrawPoint-Code nicht. Wenn du etwas anderes als das Kreuz sehen willst, kannst du Icons in einer ImageList hinterlegen, diese der POIImages-Property des MapViewers zuweisen und das für den Punkt gewünschte Bild in dessen ImageIndex angeben. Oder, wenn alle Punkte dasselbe Symbol haben können, z.B. eine rote Ellipse, kannst du diese mit einem Mal-Programm zeichnen und als png-Datei mit durchsichtigem Hintergrund als Datei speichern. Über MapView.POIImage kannst du dieses Bild dann einlesen, und es wird bei allen POIs verwendet.