如何解决在各种单独的多边形之外遮盖Leaflet地图时的奇怪行为
受http://embed.plnkr.co/1I7dIw/的启发,我试图屏蔽各种多边形之外的地图其余部分。但是我似乎在顶点上遇到了一些挑战。可能是某些多边形没有关闭,所以蒙版在开始/停止时很费劲吗?在每个多边形内,起点/终点都相同。
还是问题出在脚本,即L.mask?
L.Mask = L.polygon.extend({
options: {
stroke: false,color: '#333',fillOpacity: 0.5,clickable: true,outerBounds: new L.LatLngBounds([-90,-360],[90,360])
},initialize: function (latLngs,options) {
var outerBoundsLatLngs = [
this.options.outerBounds.getSouthWest(),this.options.outerBounds.getnorthWest(),this.options.outerBounds.getnorthEast(),this.options.outerBounds.getSouthEast()
];
L.polygon.prototype.initialize.call(this,[outerBoundsLatLngs,latLngs],options);
}
});
L.mask = function (latLngs,options) {
return new L.Mask(latLngs,options);
};
寻找任何可能的帮助。
演示... https://jsfiddle.net/q7wo0ndf/7/(为重担而道歉)
解决方法
L.mask
类是正确的,您的数据有问题。
让传单为您服务:
var sanbartolome_001 = ...;
var sanbartolome_002 = ...;
...
var options = {
style: function(feature) {
return {
"color": "black","weight": 3,"opacity": 1,"fillColor": "transparent","fillOpacity": 0.0
};
}
};
var latLngs = [];
var rfc_nerfc_001 = new L.geoJson(sanbartolome_001.features,options).addTo(map);
var rfc_nerfc_002 = new L.geoJson(sanbartolome_002.features,options).addTo(map);
var rfc_nerfc_003 = new L.geoJson(sanbartolome_003.features,options).addTo(map);
var rfc_nerfc_004 = new L.geoJson(sanbartolome_004.features,options).addTo(map);
var rfc_nerfc_005 = new L.geoJson(sanbartolome_005.features,options).addTo(map);
latLngs.push(rfc_nerfc_001.getLayers()[0].getLatLngs());
latLngs.push(rfc_nerfc_002.getLayers()[0].getLatLngs());
latLngs.push(rfc_nerfc_003.getLayers()[0].getLatLngs());
latLngs.push(rfc_nerfc_004.getLayers()[0].getLatLngs());
latLngs.push(rfc_nerfc_005.getLayers()[0].getLatLngs());
var rfc_nerfc_000 = L.mask(latLngs).addTo(map);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。