전단지 JS는 GeoJSON 모양을 다각형의 구멍으로 추가


9

이미 geojson을 포함하는 데이터 세트가 있습니다. 다음 코드 줄을 사용하여지도에 추가 할 수 있습니다.

L.geoJson(data.geojson).addTo(map);

그리고 나는 이것을 얻는다 지오 손지도에 표시

그러나 나는 주변 지역을 덮고 내 geojson 모양이 그 중간에 구멍이있는 이것을 달성하고 싶습니다.

지오 손지도에서 구멍으로

전단지 문서 에 따르면

latlng 배열을 전달하여 구멍이있는 다각형을 만들 수도 있습니다. 첫 번째 latlng 배열은 외부 링을 나타내고 나머지는 내부 구멍을 나타냅니다.

이론적으로는 다음과 같습니다.

var scotland = [[60,-13],[60,0],[50,4],[50,-13]];
L.Polygon([scotland,coordinatesOfShapeHole].addTo(map);

내 문제는이 함수가 data.geojson 또는 data.geojson.coordinates를 두 번째 매개 변수 (coordinatesOfShapeHole)로 전달하는 것을 좋아하지 않는 것입니다.

data.geojson을 L.Polygon 함수가 만족하는 형식으로 변환하는 방법이 있습니까?

아니면 L.geoJson과 동일한 작업을 수행합니까?

답변:


7

이 작동합니다. 어떤 버전의 Leaflet을 사용하고 있습니까?

여기, jsFiddle을 살펴보십시오 .

배열을 올바르게 얻는 것이 중요합니다.

첫 번째 배열은 [여기서 [lat, lon], [,] 바깥 쪽 고리를 닫는] 바깥 고리 [여기서 [lat, lon], [,] 내부 링]은 다각형을 닫습니다].

scotland = L.polygon([[[60,-13],[60,0],[50,4],[50,-13]],
                  [[55.7,-4.5],[56,-4.5],[56,-4],[55.7,-4]]]);
scotland.addTo(map);

1
안녕 고마워 간단한 다각형을 다루는 경우 효과적이지만 내 데이터는 geojson 형식입니다. geojson을 다각형 좌표로 변환하는 방법이 있는지 알고 있습니다. 아니면 L.geoJson을 사용하여 달성 하시겠습니까?
elMarquis

문제가되지 않습니다. L.geoJson을 사용하기 위해 jsFiddle을 포크했습니다. jsfiddle.net/goldrydigital/xa6vg5zj
Dennis Bauszus 2016 년

정말 고마워 geojson에 표준 다각형과 유사한 다중 배열을 전달할 수있는 다각형 정의가 포함되어 있다는 것을 알지 못했습니다.
elMarquis 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.