【问题标题】:Stretching a Leaflet Map to any size将传单地图拉伸到任意大小
【发布时间】:2018-08-31 09:15:26
【问题描述】:

我的 Leaflet 地图(自定义)相对较小,我从 16000x16000 图像制作瓷砖并使用 Leaflet 将它们实现到网站中,但地图太小,minZoom: 2 太大,minZoom 1 是太小了。

我希望地图填满整个灰色区域(这是我的地图区域),但现在的图块并没有填满整个东西,我可以保持它居中但仍然不会更大。任何帮助表示赞赏。

编辑1:

 <l-map ref="map" :zoomSnap="zoomSnap" :minZoom="minZoom" :maxZoom="maxZoom" :options="mapOptions" style="background-color: lightgray; width: fill; height: 100%;" :zoom="zoom" :center="center">
          <l-tile-layer :options="mapOptions" style="width: 100%; height: 100%" :url="url" :attribution="attribution"></l-tile-layer>
</l-map>

【问题讨论】:

  • 添加一些css到地图div,高度:100%;和宽度:100%;或者我不明白你想做什么
  • @Tony 灰色区域和白框是同一个div
  • 您能否将您的代码添加到jsfiddle.net,以便我了解更多
  • @Tony 编辑它,我无法在 jsfiddle 上重现它我无法在那里上传我的资产,但我的编辑基本上显示了截图的代码

标签: vuejs2 leaflet


【解决方案1】:

使用地图zoomSnap选项:

强制地图的缩放级别始终是这个的倍数,尤其是在fitBounds() 或捏缩放之后。默认情况下,缩放级别捕捉到最接近的整数;较低的值(例如0.50.1)允许更大的粒度。 0 的值表示在 fitBounds 或 pinch-zoom 之后缩放级别不会被捕捉。

我怀疑你使用 Vue 和 Vue2Leaflet 插件。

您的zoomSnap 数据应该是您传递给&lt;l-map&gt; 组件的options 属性的mapOptions 数据的成员,而不是它自己的属性/属性。

您可能还对使用地图zoomDelta 选项感兴趣:

控制在zoomIn()zoomOut()、按键盘上的+- 或使用缩放控件后地图的缩放级别将改变多少。小于1(例如0.5)的值允许更大的粒度。

【讨论】:

  • 谢谢,我也有这个想法并尝试过,但问题是我将 ZoomSnap 作为新属性提供,而不是将其放入地图的选项中。在阅读了您的文章后,我尝试将其实施到选项中,并且效果很好,非常感谢!
猜你喜欢
  • 2015-01-01
  • 2013-12-25
  • 2011-11-24
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 2012-11-09
  • 2012-10-29
  • 1970-01-01
相关资源
最近更新 更多