leaflet+Openstreetmap地图无法显示

问题:

很多博主用的OSM地图地址都是:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"

在其他代码检查都没问题的情况下

这个地址就是加载不出OSM地图,会报错

 原因:

在网页中查看 网络情况后发现,和其他的地图加载方式一样,OSM也是使用了地图分块图层的方式加载的,每个区块都是单独在域名下 a.tile.openstreetmap.org 去获取的。而这个域名在国内网络是无法访问的,导致获取失败,显示空白。

参考文章:

解决国内 OpenStreetMap 地图无法显示的问题 - XHX Blog (xiaohaoxing.github.io)

解决:

定位到是域名的问题,OpenStreetMap 官网 列举出了所有图层数据的服务提供商(免费/商用)域名地址,url 结构大部分为 https://{s}.tile.[DOMAIN]/{z}/{x}/{y}.png,这和上面的访问失败的结构完全一致,可以断定就是修改这个 URL 即可替换掉图像的获取地址,确保地图的正确加载。

以下为大家提供我找到的能加载地图的地址:

  1. https://tile-a.openstreetmap.fr/hot/{z}/{x}/{y}.png

  2. https://tile-b.openstreetmap.fr/hot/{z}/{x}/{y}.png

  3. https://tile-c.openstreetmap.fr/hot/{z}/{x}/{y}.png

  4. https://tile.openstreetmap.fr/hot/{z}/{x}/{y}.png

  5. http://{s}.tile.osm.org/{z}/{x}/{y}.png

 欢迎提供其他地址!!!

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值