Fix rtept drawing
This commit is contained in:
parent
d2598612ff
commit
ec0ea31b53
1 changed files with 11 additions and 10 deletions
|
@ -85,6 +85,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import static net.osmand.GPXUtilities.calculateTrackBounds;
|
||||
import static net.osmand.plus.dialogs.ConfigureMapMenu.CURRENT_TRACK_COLOR_ATTR;
|
||||
import static net.osmand.plus.dialogs.ConfigureMapMenu.CURRENT_TRACK_WIDTH_ATTR;
|
||||
|
||||
|
@ -460,7 +461,7 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
|||
QuadRect correctedQuadRect = getCorrectedQuadRect(tileBox.getLatLonBounds());
|
||||
for (SelectedGpxFile selectedGpxFile : selectedGPXFiles) {
|
||||
boolean showArrows = isShowArrowsForTrack(selectedGpxFile.getGpxFile());
|
||||
if (!showArrows || !QuadRect.trivialOverlap(correctedQuadRect, GPXUtilities.calculateTrackBounds(selectedGpxFile.getPointsToDisplay()))) {
|
||||
if (!showArrows || !QuadRect.trivialOverlap(correctedQuadRect, calculateTrackBounds(selectedGpxFile.getPointsToDisplay()))) {
|
||||
continue;
|
||||
}
|
||||
String width = getTrackWidthName(selectedGpxFile.getGpxFile(), defaultTrackWidthPref.get());
|
||||
|
@ -689,18 +690,18 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
|||
}
|
||||
}
|
||||
|
||||
private void drawSelectedFileSegments(SelectedGpxFile selectedGpxFile, boolean currentTrack, Canvas canvas,
|
||||
RotatedTileBox tileBox, DrawSettings settings) {
|
||||
boolean visible = QuadRect.trivialOverlap(tileBox.getLatLonBounds(), GPXUtilities.calculateTrackBounds(selectedGpxFile.getPointsToDisplay()));
|
||||
if (!selectedGpxFile.getGpxFile().hasTrkPt() || !visible) {
|
||||
private void drawSelectedFileSegments(SelectedGpxFile selectedGpxFile, boolean currentTrack,
|
||||
Canvas canvas, RotatedTileBox tileBox, DrawSettings settings) {
|
||||
GPXFile gpxFile = selectedGpxFile.getGpxFile();
|
||||
GradientScaleType scaleType = getGradientScaleType(gpxFile);
|
||||
|
||||
boolean visible = QuadRect.trivialOverlap(tileBox.getLatLonBounds(), calculateTrackBounds(selectedGpxFile.getPointsToDisplay()));
|
||||
if (!gpxFile.hasTrkPt() && scaleType != null || !visible) {
|
||||
segmentsCache.remove(selectedGpxFile.getGpxFile().path);
|
||||
return;
|
||||
}
|
||||
|
||||
GPXFile gpxFile = selectedGpxFile.getGpxFile();
|
||||
GradientScaleType scaleType = getGradientScaleType(gpxFile);
|
||||
List<TrkSegment> segments = new ArrayList<>();
|
||||
|
||||
if (scaleType == null) {
|
||||
segments.addAll(selectedGpxFile.getPointsToDisplay());
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue