Noobster
Noobster

Reputation: 1044

Limit zoom to a 'maximum' in d3 geo tiles

When you use certain tile-sets (e.g. .tiles.mapbox.com/v3/mapbox.natural-earth-2/) the zoom on d3 geo tiles should be limited to a maximum, otherwise those tiles do not exist, cannot be found, and end up displaying an ugly 'cannot be found' background image.

I have created a fiddle (courtesy of user Lex) to show you exactly what I mean. Try clicking on a small country to replicate the issue. No tiles exist at that zoom level. The following two solutions would be acceptable.

  1. How would I set about limiting the zoom in function clicked that calculates the zoom-to-bounding-box?
  2. How would I amend the script such that function clicked continues to zoom into the most detailed tile available?

Upvotes: 0

Views: 148

Answers (1)

Steve
Steve

Reputation: 10886

One easy approach to this is to limit the zoom by setting a maximum scaling factor.

For instance in clicked you could add a line like this:

scale = Math.min(1 << 14, scale);

(based your previous scale extent of [1 << 11, 1 << 14])

Here's the updated fiddle: https://jsfiddle.net/5Lf0w3sm/17/

Upvotes: 1

Related Questions