Hallo zusammen,
ich portiere gerade eine Anwendung von Delphi auf Lazarus. Für die Kartendarstellung
hatte ich bisher eine Eigenentwicklung, jetzt kommt TMapViewer zum Einsatz.
Hat jemand ein Beispiel wie man eine Liste von GPS-Koordinaten als Pfad (Polygon)
einblenden kann?
Ich bin von der Demo ohne Add Ons ausgegangen
TMapViewer / Pfad einzeichnen
Re: TMapViewer / Pfad einzeichnen
Im FullDemo wird in TGPSListViewer.BtnLoadTrackClick, Unit gpsListForm, ein Track Punkt für Punkt eingelesen. Im wiki ist dasselbe Verfahren unter https://wiki.lazarus.freepascal.org/Laz ... stom_track beschrieben (bitte auch die Kapitel vorher lesen, weil da die Datenstrukturen erläutert werden).
Alternativ kann man auch mit einem TMapTrack arbeiten (den man auch im Objekt-Inspektor anlegen kann). Aus meinem aktuellen Projekt "SimpleRoutePlanner" (https://codeberg.org/wpam/SimpleRoutePlanner):
Alternativ kann man auch mit einem TMapTrack arbeiten (den man auch im Objekt-Inspektor anlegen kann). Aus meinem aktuellen Projekt "SimpleRoutePlanner" (https://codeberg.org/wpam/SimpleRoutePlanner):
Code: Alles auswählen
function TMainForm.GetLayer: TMapLayer;
begin
if MapView.Layers.Count = 0 then
Result := MapView.Layers.Add as TMapLayer
else
Result := MapView.Layers[0];
end;
procedure TMainForm.AddRouteToMap(ALine: TRealPointArray);
var
i: Integer;
layer: TMapLayer;
track: TMapTrack;
point: TMapTrackPoint;
begin
layer := GetLayer;
layer.Tracks.Clear;
if Length(ALine) = 0 then
exit;
track := layer.Tracks.Add as TMapTrack;
for i:= 0 to High(ALine) do
begin
point := track.Points.Add as TMapTrackPoint;
point.RealPoint := ALine[i];
end;
end;
Re: TMapViewer / Pfad einzeichnen
oh, vielen Dank,
das WiKi hatte ich noch nicht gefunden.
Das schaue ich mir jetzt erstmal an.
das WiKi hatte ich noch nicht gefunden.
Das schaue ich mir jetzt erstmal an.
Re: TMapViewer / Pfad einzeichnen
Habe es jetzt eingebaut ,klappt prima! Nochmal danke für die Tips!