我如何像冠状病毒一样设置 OpenStreetMap 的样式

Posted

技术标签:

【中文标题】我如何像冠状病毒一样设置 OpenStreetMap 的样式【英文标题】:How do i style OpenStreetMap like coronavirus.app 【发布时间】:2020-07-09 07:39:42 【问题描述】:

我正在深入研究 OpenStreetMap、传单和地图图块的世界! 我想要的第一件事是用于数据可视化的漂亮地图。以前使用谷歌地图的经验我可以在地图客户端设置样式,但是当我搜索 OpenStreetMap 样式时,它似乎不太可能,并且必须在服务器端完成。

那么像coranavirus.app 这样的一方是如何做到的呢?当我检查他们的网站时,我可以看到他们拉出正常的 OSM png 瓷砖。它是如何变成明暗图的?

任何提示将不胜感激!

【问题讨论】:

【参考方案1】:

如果您检查.leaflet-tile-container,您会发现他们正在使用 CSS 过滤器:

:root
  /* ... */
  --mapfilter: grayscale(1);
  /* ... */


/* ... */
html body.dark
  /* ... */
  --mapfilter: invert(1) grayscale(1);
  /* ... */


.map-layer, .leaflet-tile-container 
    filter: var(--mapfilter);
    -webkit-filter: var(--mapfilter);

【讨论】:

使用 css 对 png 进行灰度缩放。我非常专注于瓷砖供应商:D 谢谢!

以上是关于我如何像冠状病毒一样设置 OpenStreetMap 的样式的主要内容,如果未能解决你的问题,请参考以下文章

查明输入文本是不是用于冠状病毒

新型冠状病毒数据可视化分析

使用python刮刮冠状病毒互动图

2019-nCoV新型冠状病毒

宁哥科普:新型冠状病毒能被杀死吗?

创业+110期丨首个冠状病毒杀灭性能测试标准发布,零微科技填补行业空白