public static double calculateScaleRecip(AffineTransform tr) {
int zoomLevel = MapScalingTransform.zoomLevel(tr);
- double t = 1.0 / (getScale(tr) * Math.sqrt(zoomLevel));
+ double t;
+ if (zoomLevel > 15) {
+ int d = zoomLevel - 15; // stop zooming vertices when zoom level > 15
+ t = 1.0 / d / (getScale(tr) * Math.sqrt(zoomLevel));
+ } else {
+ t = 1.0 / (getScale(tr) * Math.sqrt(zoomLevel));
+ }
return t;
}