我有一个以geojson格式呈现的省份边界多边形。我想在地图上显示该省份,使非省份区域变为灰色(不透明),而省份区域则不带样式。我该如何实现这一目标?
我有一个以geojson格式呈现的省份边界多边形。我想在地图上显示该省份,使非省份区域变为灰色(不透明),而省份区域则不带样式。我该如何实现这一目标?
你也可以通过传递一个由纬度和经度数组组成的数组来创建带洞的多边形,第一个纬度和经度数组表示外环,其余数组表示内部的洞。
所以我认为您可以使用此方法创建一个非常大的外环多边形,并将省份作为内部的孔展现。当然,如果您缩放到比大多边形更大的级别,那么这将看起来有些尴尬。最好设置一个最小缩放级别,以防止这种情况发生。
var polygon = L.polygon(
[[[52, -1],
[52, 1],
[50, 1],
[50, -1]], //outer ring
[[51.509, -0.08],
[51.503, -0.07],
[51.51, -0.047]]] // cutout
).addTo(map);
或者将外部多边形设置为覆盖整个世界:
[[90, -180],
[90, 180],
[-90, 180],
[-90, -180]]