6

我有一个 geojson 格式的省边界多边形。我想要的是在地图上显示这个省份,非省份区域变灰(不透明),省份区域显示没有样式。我怎样才能做到这一点?

4

1 回答 1

15

多边形 api 文档

您还可以通过传递一组 latlngs 数组来创建一个带孔的多边形,第一个 latlngs 数组表示外环,而其余的表示内部的孔。

所以我认为你可以用它为外环制作一个非常大的多边形,将省份切入内部作为一个洞。当然,如果你放大到比大多边形更大的级别,那看起来会很尴尬。也许最好设置一个最小缩放级别,这样就不会发生这种情况。

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);

JSfiddle

或者设置外多边形覆盖整个世界:

[[90, -180],
 [90, 180],
 [-90, 180],
 [-90, -180]]
于 2013-08-07T15:44:21.143 回答