在d3地理图块中限制缩放到“最大”

时间:2018-06-13 09:43:10

标签: javascript d3.js

当您使用某些图块集(例如.tiles.mapbox.com/v3/mapbox.natural-earth-2/)时,d3地理图块上的缩放应限制为最大值,否则这些图块不存在,无法找到,最终显示丑陋的“不能”找到'背景图片。

我创建了一个fiddle(由用户Lex提供),以向您展示我的意思。尝试点击一个小国家来复制问题。该缩放级别不存在任何图块。以下两种解决方案是可以接受的。

  1. 如何设置限制放大功能clicked 计算缩放到边界框?
  2. 如何修改脚本以使函数clicked继续放大到最详细的可用图块?

1 个答案:

答案 0 :(得分:1)

一种简单的方法是通过设置最大比例因子来限制缩放。

例如在clicked中,您可以添加如下所示的行:

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

(基于您之前的[1 << 11, 1 << 14]的比例范围)

这是更新的小提琴:https://jsfiddle.net/5Lf0w3sm/17/