Leafletjs有一个函数pad(x)
,用于增加latLng边界。我怎么缩小它?我试过在里面放一个负数,但没什么效果。
我基本上是想看看一个标记是否在当前视图中,如果不是以该标记为中心。但是,一些标记可以在视图的边缘绘制,并且仍然被归类为视图中的标记。为了避免这种情况,我试图在当前的视口边界上添加内部填充。
if(!map.getBounds().pad(-1.5).contains(marker.getLatLng()))
发布于 2015-10-23 14:47:47
您可以使用paddingTopLeft
、paddingBottomRight
或L.Map
的fitBounds
方法的padding
选项:
设置映射容器左上角的填充量,在设置视图以适应边界时不应考虑这些填充量。如果您在地图上有一些控件覆盖,比如边栏,并且不希望它们模糊正在缩放到的对象,则非常有用。
http://leafletjs.com/reference.html#map-paddingtopleft
map.fitBounds(layer, {'padding': [n, n]})
发布于 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)。
增加一个正的比率。
https://stackoverflow.com/questions/33304833
复制相似问题