【问题标题】:Leaflet - when zooming decrease tiles dimension instead of using different tiles传单 - 缩放时减少瓷砖尺寸而不是使用不同的瓷砖
【发布时间】:2016-11-03 20:20:13
【问题描述】:

我在 Ionic 混合应用程序中使用带有 World_Imagery 提供程序的 angular-leaflet-directive。 地图的唯一目的是围绕中心(用户的位置)绘制不同半径的圆。用户通过与滑块交互来更改半径。半径可以从 10 米到 2 公里。当圆圈大于视口时,我正在使用 fitBounds() 缩小。当从缩放级别 14 更改为缩放级别 13 时,图像质量变得非常糟糕。我想避免这种情况,只是适当地改变瓷砖的尺寸。

如果有人能想到更好的解决方案,那就太受欢迎了。

【问题讨论】:

  • 你不是说“tiles”而不是“titles”吗?另外,您在什么缩放级别上遇到问题? 4? 12? 18?图像不好的任何特定世界区域?
  • 瓷砖,你是对的。在缩放级别 13 质量显着下降。我已经编辑了这个问题。谢谢
  • 请记住,在缩放 N-1 时,每个图块通常覆盖缩放 N 的 4 个图块。因此,如果您在缩放 13 时保留缩放 14 的图块,则视口中的图块数量将是 4 倍。以此类推,如果您使用更低的缩放比例……
  • @ghybs 我知道这种增加。这种解决方案的唯一原因是我知道缩放级别 13 是用户可以达到的最小缩放级别。

标签: ionic-framework leaflet


【解决方案1】:

另一种解决方案是将某些图像提供程序用于缩放级别 0-13,然后将您当前的图像提供程序用于缩放级别 14-18。

【讨论】:

  • 这是B计划。
【解决方案2】:

如果有人感兴趣,我已经实现了我想要的:

  1. 将 options.tileSize 从 L.TileLayer 设置为通常大小的一半,即 128。
  2. 将常数从 L.CRS.scale 更改为 128。

对于我的用例来说,它是完美的,但如果地图足够缩小,用户仍然可以看到质量不佳的标题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多