lazmapviewer: Fix across-dateline track disappearing when start point is vertically outside the viewport. Patch by Yuliyan Ivanov.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9170 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
81073155a3
commit
03e6f8bcd5
@ -196,7 +196,7 @@ function GoingEast(Lon1, Lon2: Double): Boolean;
|
||||
implementation
|
||||
|
||||
uses
|
||||
mvExtraData, mvMapViewer;
|
||||
mvExtraData, mvMapViewer, Math;
|
||||
|
||||
function GoingEast(Lon1, Lon2: Double): Boolean;
|
||||
begin
|
||||
@ -791,16 +791,9 @@ begin
|
||||
for i:=1 to pred(FPoints.Count) do
|
||||
begin
|
||||
pt2 := FPoints[I].RealPoint;
|
||||
if GoingEast(pt1.Lon, pt2.Lon) then
|
||||
begin
|
||||
ptArea.TopLeft := pt1;
|
||||
ptArea.BottomRight := pt2;
|
||||
end
|
||||
else
|
||||
begin
|
||||
ptArea.TopLeft := pt2;
|
||||
ptArea.BottomRight := pt1;
|
||||
end;
|
||||
if GoingEast(pt1.Lon, pt2.Lon)
|
||||
then ptArea.Init(pt1.Lon, Max(pt1.Lat, pt2.Lat), pt2.Lon, Min(pt1.Lat, pt2.Lat))
|
||||
else ptArea.Init(pt2.Lon, Max(pt1.Lat, pt2.Lat), pt1.Lon, Min(pt1.Lat, pt2.Lat));
|
||||
ExtendArea(Area, ptArea);
|
||||
pt1 := pt2;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user