javascript - 将图 block 的可视部分限制为 Leaflet 中的多边形区域?

标签 javascript dictionary leaflet geojson

在Leaflet中,如何将图 block 的可视部分限制为多边形(或geojson)内包含的区域,即多边形与其下方图 block 之间的交集。

使用示例:仅显示一个国家/地区并隐藏所有其他国家/地区。

编辑:我不是在寻找 fitBounds/setMaxBounds 方法,而是在寻找一种仅显示多边形内部区域的方法。

最佳答案

您可以使用map.setMaxBounds(L.latLngBounds)方法来限制 View 。

用于限制 map View :

map.fitBounds(polygon.getBounds()); // max zoom to see whole polygon
map.setMaxBounds(polygon.getBounds()); // restrict map view to polygon bounds
map.options.minZoom = map.getZoom(); // restrict user to zoom out 

当您想恢复此状态时:

delete map.options.maxBounds;  // remove the maxBounds object from the map options
map.options.minZoom = 0; // set min-zoom to 0 = no restriciton

我设置了一个 jsfiddle,您可以在其中看到行为:jsfiddle

编辑:

我已经更新了 jsfiddle 以使用多边形并隐藏除这个三 Angular 形之外的所有世界。唯一的问题是在缩放期间您仍然可以看到 map 的其他部分。 jsfiddle2

关于javascript - 将图 block 的可视部分限制为 Leaflet 中的多边形区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21456115/

相关文章:

python - 当键是 Python 字典中的元组时

vba - 从 vba 中的函数返回字典。错误450

javascript - XML 到 HTML 表中以用于传单 map 标记弹出窗口

javascript - 使用 jquery 动态填充选择选项

javascript - 我想使用 GIN 将 JSON 数据带到 Golang 制作的服务器

javascript - 如何验证手机号在 Bootstrap 4 中使用约束验证?

java - 为什么引用文献会自动更新?

angularjs - 传单 map 不显示路径

javascript - Leaflet.js 将按钮添加到标记弹出窗口

javascript - 为什么 javascript `var undefined` 没问题但 `var null` 抛出错误