【问题标题】:Leafleftjs - OpenstreetMap : Bring road names on top of Overlay layersLeafleftjs - OpenstreetMap:将道路名称放在叠加层之上
【发布时间】:2019-09-10 13:13:35
【问题描述】:

我是 OpenstreetMap 和 Leafletjs 的新手。我正在尝试通过使用不同的颜色来显示道路拥堵来实现显示高速公路(在世界某些地方也称为高速公路)上的行程时间信息的地图,而我面临的问题是,一旦渲染了地图图块,它就会出现包含所有信息,例如城镇/城市名称、道路名称等。 根据收到的道路信息,我在位于瓦片层顶部的叠加层中创建道路着色。问题是,一旦发生这种情况,道路着色会覆盖出现在切片图层上的道路名称。可以在下面显示的图像中看到问题。

有没有办法,我可以提取道路名称,这样我就可以将它放在道路着色层之上的一层,这样道路名称就会出现在道路着色的顶部。

感谢任何形式的帮助,期待一些答复。

谢谢

【问题讨论】:

    标签: openstreetmap leaflet


    【解决方案1】:

    理论上,您可以创建两组图块:一组带有道路线,另一组带有盾牌(标签)。使用透明背景渲染盾牌图块。然后修改 Leaflet,在覆盖层之上有第二个瓦片层。

    但是...对于一个相当简单的问题来说,这是一大堆麻烦。那么:为什么不将道路编号呈现在道路旁边,而不是在道路之上呢?这样,您的覆盖线就不会掩盖数字。 Here's an example 的一种风格(免责声明:我的网站!)。

    假设您使用 Mapnik 渲染图块,您需要使用 TextSymbolizer 而不是 ShieldSymbolizer。如果您使用的是 TileMill 而不是纯 Mapnik XML,自定义样式(当然)要容易得多。

    【讨论】:

      【解决方案2】:

      正如您所说,道路名称(此处为参考图标符号)是 OSM 栅格地图图块的一部分,不能轻易更改。
      所以最简单的解决方案是切换到没有标签的地图样式。
      另一个想法是为您的自定义 GPS 轨迹添加更多 alpha,因此它变得更加“空心”并且更适合地图样式。但是默认的 OSM 样式不适合在顶部添加信息,因为这个底图已经很详细了。也许使用另一个有意义:
      http://wiki.openstreetmap.org/wiki/Featured_tiles

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-12
        • 1970-01-01
        • 2021-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多