다각형(Polygon)
다각형(Polygon)
란 지도 위에 그려지는 도형을 의미합니다.
사각형과 원을 비롯하여 임의의 도형을 지도 위에 표시할 수 있습니다.
주로, 특정 영역이나 공간을 표현할 때 사용합니다.
클래스 코드
세부 코드
namespace
에 GMap
, Markers
를 사용할 수 있도록 선언합니다.
GMapOverlay
란 GMap에서 사용하는 오버레이(Overlay)
입니다.
마커(Maker)
에서 사용되는 클래스와 동일합니다.
GMapOverlay(string id)
의 구조를 가지며, 위 예제에서는 id
를 polygons
로 적용합니다.
points
변수는 다각형
에 저장할 좌표 배열을 의미합니다.
App
에 대한 이벤트를 연결합니다.
MouseDown
이벤트는 지도에서 마우스 다운 이벤트가 발생할 때, 실행됩니다.
다각형 그리기
마우스가 눌릴 때마다 다각형이 그려지므로, 기존 데이터에 누적되지 않도록 PolygonOverlay
와 Overlays
를 초기화합니다.
PolygonOverlay
는 다각형들이 저장될 오버레이 변수이며, Overlays
는 앞에서 저장된 오버레이들을 표시하는 변수입니다.
즉, PolygonOverlay
는 다각형들의 묶음이며, Overlays
는 다각형들의 묶음들을 표시하는 변수입니다.
좌측 마우스
가 눌렸을 때, 마우스 좌표에 따른 위도와 경도를 points
변수에 추가합니다.
우측 마우스
가 눌렸을 때, points
변수에서 가장 마지막에 추가된 좌표를 제거합니다.
- Tip :
points
변수에 데이터가 하나도 없다면, 오류가 발생하므로 조건문(if)
을 추가하여 변수의 길이를 확인합니다.
GMapPolygon
클래스로 points
변수를 다각형화 시킵니다.
GMapPolygon(points, name)
의 구조를 가지며, 위 예제에서는 name
를 polygon
로 적용합니다.
Fill
필드는 다각형의 채우기 방법을 의미합니다.
Stroke
필드는 다각형의 테두리를 의미합니다.
PolygonOverlay.Polygons.Add
메서드를 활용하여 마우스로 그린 다각형을 추가합니다.
PolygonOverlay.Polygons.Add
메서드에 여러 개의 다각형을 오버레이에 추가할 수 있습니다.
App.Overlays.Add
메서드로 다각형 오버레이를 추가합니다.
App.Overlays.Add
메서드에 여러 개의 오버레이를 지도 앱에 추가할 수 있습니다.
원 그리기
원을 그리는 방법도 다각형을 그리는 방법과 동일합니다.
이 방법은 마우스를 누를 때 마다 반지름이 36이며, 지점을 18 개를 갖는 뭉툭한 원이 그려집니다.
지도 앱의 오버레이만 초기화(App.Overlays.Clear()
)하기 때문에, 원은 그대로 유지됩니다.
출력 결과
다각형 그리기
원 그리기
댓글 남기기