X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosSiteMapTile.java;h=c14fb93f0837ef1be9048a328cab8abb1a9329c1;hp=919de825dcfcd476b1f7de0cd5f9312085faaad8;hb=90b9bc4475011bead7117ed72fa5efa0f77b2813;hpb=fda93afcd8aa4133b0e5f008b824d072e338d0ed diff --git a/ao-tools/altosui/AltosSiteMapTile.java b/ao-tools/altosui/AltosSiteMapTile.java index 919de825..c14fb93f 100644 --- a/ao-tools/altosui/AltosSiteMapTile.java +++ b/ao-tools/altosui/AltosSiteMapTile.java @@ -45,15 +45,17 @@ public class AltosSiteMapTile extends JLabel { int px_size = 512; private boolean setLocation(double lat, double lng) { - Point2D.Double north_1nm; + Point2D.Double north_step; + double step_nm = 0.5; for (zoom = 3; zoom < 22; zoom++) { coord_pt = pt(lat, lng, new Point2D.Double(0,0), zoom); - north_1nm = pt(lat+1/60.0, lng, new Point2D.Double(0,0), zoom); - if (coord_pt.y - north_1nm.y > px_size/2) + north_step = pt(lat+step_nm/60.0, lng, + new Point2D.Double(0,0), zoom); + if (coord_pt.y - north_step.y > px_size/2) break; } - coord_pt.x = px_size/2 - ((long)coord_pt.x/px_size + off_x) * px_size; - coord_pt.y = px_size/2 - ((long)coord_pt.y/px_size + off_y) * px_size; + coord_pt.x = -px_size * Math.floor(coord_pt.x/px_size + off_x); + coord_pt.y = -px_size * Math.floor(coord_pt.y/px_size + off_y); scale_x = 256/360.0 * Math.pow(2, zoom); scale_y = 256/(2.0*Math.PI) * Math.pow(2, zoom);