插件获取失败,导致folium生成的地图无法正常显示

Python近几年超级火爆,我也跟着凑热闹,自己学习了一下,并且试着在合适的场景下应用。

当然,目前我涉及到的应用还是很简单的,主要是对数据的可视化进行处理,还远远达不到数据分析或AI机器学习的范畴。

就个人感觉而言,Python及其应用库的功能的确很强大,使用起来很方便,数据可视化的效果很好,并且许多数据可视化后的图表都具有一定的交互性,非常友好。

前一阵儿,使用folium生成了一个数据地图(html文件),展示世界一些相关地点及相应数据。本来一直没什么问题,可是,前几天,突然地图无法正常显示了,只有空白地图背景,但数据及所标记地点均不显示。

我不知原因何在,就上网搜寻,想看看是否出现过类似问题,但也没有找到合适的结果。

抓耳挠腮几天之后,突然想到,所生成的html文件,或其中包含的JavaScript,会不会有什么问题,导致浏览器打开时,无法正常显示。于是使用“开发者工具”查看,果然显示有错误,某个对象(object)不能正常运行。再对应到html文件中,原来是JavaScript中调用folium地图插件MeasureControl时,出现问题。尝试将这段语句删除后,又显示调用MousePosition也有问题,再将对应语句也删除后,终于可以正常显示地点及相关数据了。

于是,在Python源码中,取消了对MeasureControl及MousePosition的调用。问题暂时解决。

随后在GitHub的folium主页https://github.com/python-visualization/folium上反馈了这个问题。没想到,很快就得到回复(by Conengmo)。

奇怪的是,根据Conengmo的回复来看,MeasureControl及MousePosition插件在他那边的应用并无问题。再尝试使用我所提供Python源码,Conengmo用其生成的html文件,也可以正常显示地图及地点数据。

大家往复版聊了几次,没有找到原因。Conengmo又提及,他怀疑是因为我们这边无法访问特定url,所以不能通过网络导入对应插件,才导致地图显示失败。他说有人此前刚刚也提出了其它的地图显示问题,是由于无法访问特定链接,不能导入对应插件引起的。

Conengmo又让我尝试连接https://rawcdn.githack.com/ljagis/leaflet-measure/2.1.7/dist/leaflet-measure.js,果然,我不能访问这个链接。

这样,我们总算找到了根本原因。MeasureControl及MousePosition插件使用,均需访问rawcdn.githack.com上的某个链接,来获取该网络插件。但因为我们这里无法访问指定的链接,所以生成的html文件中JavaScript运行时不能获取对应插件(js脚本及css),导致了地图标记地点及相应数据显示失败。

现在网络相关应用越来越多,许多时候,可能不是程序或应用本身的问题,也要考虑到网络因素才行。

谨此为记。

  • 2
    点赞
  • 19
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值