首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Leaflet.js收缩getBounds()

Leaflet.js收缩getBounds()
EN

Stack Overflow用户
提问于 2015-10-23 14:27:42
回答 2查看 743关注 0票数 0

Leafletjs有一个函数pad(x),用于增加latLng边界。我怎么缩小它?我试过在里面放一个负数,但没什么效果。

我基本上是想看看一个标记是否在当前视图中,如果不是以该标记为中心。但是,一些标记可以在视图的边缘绘制,并且仍然被归类为视图中的标记。为了避免这种情况,我试图在当前的视口边界上添加内部填充。

if(!map.getBounds().pad(-1.5).contains(marker.getLatLng()))

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-23 14:47:47

您可以使用paddingTopLeftpaddingBottomRightL.MapfitBounds方法的padding选项:

设置映射容器左上角的填充量,在设置视图以适应边界时不应考虑这些填充量。如果您在地图上有一些控件覆盖,比如边栏,并且不希望它们模糊正在缩放到的对象,则非常有用。

http://leafletjs.com/reference.html#map-paddingtopleft

代码语言:javascript
运行
复制
map.fitBounds(layer, {'padding': [n, n]})
票数 1
EN

Stack Overflow用户

发布于 2017-10-05 20:53:32

pad()的负值范围为0到-0.5。

https://github.com/Leaflet/Leaflet/issues/5741

编辑:链接基本上说,垫采取的比率为1,而不是一个典型的百分比值。因此,若要将边界减少50% (这在视觉上使其为0,因为左界为中间的50%,右界也为中间的50%,等等),则参数值为pad(-0.5)而不是pad(-50)。

增加一个正的比率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33304833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档