首页 / 浏览问题 / 组件GIS / 问题详情
leaflet 加载的切片,只想让它显示制定区域的部分,需要怎么做?
5EXP 2019年10月17日

现在是这样写的,polygon是山西省的边界数据,但是没有效果,请大家帮我看看是哪里出错了?

1个回答

你好,你的map的CRS没有设置。
1,686EXP 2019年10月17日
报错了,提示没有on方法
你是L.marker构造的吗?? marker.on这个调用的对象用对了吗??
这个解决了,我那个显示指定区域的那个问题还没解决。。。我用的是tomcat加载的离线地图
现在可以显示成你截图的那样,但是我想要的效果是只显示山西省区域内的,其他省份的地图就不显示,不是现在这种高亮显示山西省
你现在实现了吗?我现在只实现了里面的一个市,全省会有一部分被遮盖

遮罩

let maskLi = data//(这个是全省边界数据),

,pNW = {lat:90,lng:-360},pNE = {lat: -90,lng:-360 },pSE = {lat:-90,lng:360},pSW = {lat:90,lng:360}//

            let points = [],pArray = []

            pArray = [pNW,pSW,pSE,pNE,pNW]

            for (let i = 0; i < mask.length; i++) {

                mask[i].forEach(item =>{

                    item.forEach(latlngs =>{

                        points.push({

                            lat:latlngs[1],

                            lon:latlngs[0]

                        })

                       

                    })

                })

                pArray = pArray.concat(points);

                pArray.push(pArray[0]);

            }

            var plyall = L.polygon(pArray, { color:'transparent',fillColor:'#04121f',fillOpacity:0.9 }); //建立多边形覆盖物

            plyall.addTo(this.map);
...