I\'ve written my own Perlin Noise implementation and it works well. I can \'zoom\' in and out by changing the frequency, but as I zoom in the noise gets smoother and smoother.>
Assuming that you're generating the map files statically rather than on the fly I think your simplest solution is to generate the entire map at the highest resolution you require. In effect you're then zooming out and back in to that level of granularity. It's more computationally expensive and will yield larger map files. Depending upon your implementation for the viewer you can either use one single map file or build some de-resolutioned files for the bigger view.