Leaflet:反向/反向多边形样式

时间:2013-08-06 13:53:46

标签: leaflet

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

1 个答案:

答案 0 :(得分:9)

来自Polygon api documentation

  

您还可以通过传递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]]