X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosSiteMap.java;h=2c5420619eda46a36ae29a1b91eda1a7a371c047;hp=50177d4e84b9a564c16bc64349a58cfd33af3b46;hb=835b903727a2eabda8d9659cc46e53301f92897c;hpb=440a0f3f5130eb0c8e614691892be8c94e7fd3c3 diff --git a/ao-tools/altosui/AltosSiteMap.java b/ao-tools/altosui/AltosSiteMap.java index 50177d4e..2c542061 100644 --- a/ao-tools/altosui/AltosSiteMap.java +++ b/ao-tools/altosui/AltosSiteMap.java @@ -33,8 +33,10 @@ import java.awt.geom.Point2D; import java.awt.geom.Line2D; public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay { - // max vertical step in a tile in naut. miles - static final double tile_size_nmi = 1.0; + // preferred vertical step in a tile in naut. miles + // will actually choose a step size between x and 2x, where this + // is 1.5x + static final double tile_size_nmi = 1.5; static final int px_size = 512; @@ -117,7 +119,7 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay { scale_x = 256/360.0 * Math.pow(2, zoom); scale_y = 256/(2.0*Math.PI) * Math.pow(2, zoom); locn = pt(lat, lng); - north_step = pt(lat+tile_size_nmi/60.0, lng); + north_step = pt(lat+tile_size_nmi*4/3/60.0, lng); if (locn.y - north_step.y > px_size) break; } while (zoom < 22); @@ -211,10 +213,12 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay { boolean initialised = false; public void show(AltosState state, int crc_errors) { // if insufficient gps data, nothing to update - if (state.gps == null || !state.gps.locked) { + if (state.gps == null) + return; + if (!state.gps.locked) { if (state.pad_lat == 0 && state.pad_lon == 0) return; - if (state.ngps < 3) + if (state.gps.nsat < 4) return; }