better tile caching, correct region/zoomscale calculation