leaflet windyAPI地图政治问题解决方法

前言:本来觉得不值一提,结果解决了一次 又发生了一次,遂写此文章,有缘人可以少走一点弯路。

问题产生与闲言碎语

windyAPI生成的地图实例,底图中台湾部分,一为繁体,二缩放到某个级别时,中国本土属中国人民共和国,台湾那标注中华民国,说实话,我还是强烈鄙视搞地图政治的第三方。要说,包括OSM地图也是有问题的。leaflet甚至也是公然掺杂政治,相信如果你最近这段时间有上过leaflet官网应该能明白我在说什么。软件不该成为政治博弈的工具。

那这个主要还是接手上个人留下来的问题,废话不多说,直接上解决方案。

解决方法

由于时间久远(几个月?),我已经不太记得当时的追溯的思路,但可以确定的是,尝试了不少,本来想找出他那个有问题的底图图层删掉,结果还是不行。因为leaflet的设计就是啥√8东西都塞一堆,尝试了一会,看到里面200多个layer人都傻了。
遂思考,我需要解决的是他的问题底图,而他的效果我即使清除了,他也会继续刷新加载。往往大道至简,能解决问题的码农就是好码农,暴力的直接给他干掉 应该可以。于是=》

			windyInit(options, windyAPI => {
				const { store, map } = windyAPI;
				// that.imgLayer.addTo(map);
				that.map = map;
				...
				// 核心代码在以下3行
				map.eachLayer(function(layer){
				    map.removeLayer(layer)
				});
				that.imgLayer.addTo(map)   
				...
			})

在这里插入图片描述

值得注意的一点

应该可以看到,这是一个异步函数为了保证确定能解决问题,请确保在暴力清除它所有图层之前的函数不会报错。以免没走到下面就报错了,地图自然还是会出错的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值