+ private boolean setLocation(double lat, double lng) {
+ Point2D.Double north_1nm;
+ 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)
+ 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;
+