| | |
| | | |
| | | double lat = helper.parseDMToDecimal(latest.getLatitude(), latest.getLatDirection()); |
| | | double lon = helper.parseDMToDecimal(latest.getLongitude(), latest.getLonDirection()); |
| | | if (!Double.isFinite(lat) || !Double.isFinite(lon)) { |
| | | if (!isFinite(lat) || !isFinite(lon)) { |
| | | return; |
| | | } |
| | | |
| | | double[] local = helper.convertLatLonToLocal(lat, lon, baseLatLon[0], baseLatLon[1]); |
| | | Point2D.Double candidate = new Point2D.Double(local[0], local[1]); |
| | | if (!Double.isFinite(candidate.x) || !Double.isFinite(candidate.y)) { |
| | | if (!isFinite(candidate.x) || !isFinite(candidate.y)) { |
| | | return; |
| | | } |
| | | |
| | |
| | | g2d.setStroke(new BasicStroke(dashWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 10.0f, dashPattern, 0.0f)); |
| | | g2d.draw(path); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 检查double值是否有限(不是NaN或无穷大) |
| | | * 兼容低版本Java |
| | | */ |
| | | private static boolean isFinite(double value) { |
| | | return !Double.isNaN(value) && !Double.isInfinite(value); |
| | | } |
| | | } |