OverlayView 클래스
google.maps.OverlayView 클래스
지도에 맞춤 유형의 오버레이 객체를 표시하려면 이 클래스를 구현하면 됩니다. 
오버레이의 프로토타입을 MyOverlay.prototype = new google.maps.OverlayView();로 설정하여 이 클래스에서 상속합니다. OverlayView 생성자는 빈 함수로 보장됩니다. onAdd(), draw(), onRemove()의 세 가지 메서드를 구현해야 합니다. 
- onAdd()메서드에서 DOM 객체를 만들고 창의 하위 요소로 추가해야 합니다.
- draw()메서드에서 이러한 요소를 배치해야 합니다.
- onRemove()메서드에서 DOM에서 객체를 삭제해야 합니다.
Map 객체로 setMap()를 호출하여 onAdd() 메서드와 setMap(null) 호출을 트리거하여 onRemove() 메서드를 트리거해야 합니다. setMap() 메서드는 생성 시 또는 삭제 후 오버레이를 다시 표시해야 하는 시점에 언제든지 호출할 수 있습니다. 그러면 확대/축소, 중심, 지도 유형과 같이 요소의 위치를 변경할 수 있는 지도 속성이 변경될 때마다 draw() 메서드가 호출됩니다.
이 클래스는 MVCObject를 확장합니다.
const {OverlayView} = await google.maps.importLibrary("maps") 또는 const {OverlayView} = await google.maps.importLibrary("streetView")를 호출하여 액세스합니다. 
Maps JavaScript API의 라이브러리를 참고하세요.
| 생성자 | |
|---|---|
| OverlayView | OverlayView()매개변수:  없음 OverlayView를 만듭니다. | 
| 정적 메소드 | |
|---|---|
| preventMapHitsAndGesturesFrom | preventMapHitsAndGesturesFrom(element)매개변수:   
 반환 값:  None 요소의 클릭, 탭, 드래그, 휠 이벤트가 지도에 버블링되지 않도록 합니다. 지도를 드래그하거나 확대/축소하는 것과 지도 '클릭' 이벤트를 방지하는 데 사용됩니다. | 
| preventMapHitsFrom | preventMapHitsFrom(element)매개변수:   
 반환 값:  None 요소가 지도에 버블링되는 것을 방지합니다. 지도가 '클릭' 이벤트를 트리거하지 않도록 방지하는 데 사용됩니다. | 
| 메서드 | |
|---|---|
| draw | draw()매개변수:  없음 반환 값:  None 오버레이를 그리거나 업데이트하려면 이 메서드를 구현하세요. projection.fromLatLngToDivPixel()의 위치를 사용하여 MapPanes에 상대적으로 오버레이를 올바르게 배치합니다. 이 메서드는 onAdd() 후에 호출되며, 확대/축소 또는 중심이 변경될 때 호출됩니다. 이 메서드에서 계산 비용이 많이 드는 작업을 실행하는 것은 권장되지 않습니다. | 
| getMap | getMap()매개변수:  없음 반환 값:   Map|StreetViewPanorama | 
| getPanes | getPanes()매개변수:  없음 반환 값:   MapPanes|null이 OverlayView를 렌더링할 수 있는 창을 반환합니다. API에서  onAdd를 호출할 때까지는 창이 초기화되지 않습니다. | 
| getProjection | getProjection()매개변수:  없음 반환 값:   MapCanvasProjection이  OverlayView와 연결된MapCanvasProjection객체를 반환합니다.onAdd가 API에 의해 호출될 때까지 프로젝션이 초기화되지 않습니다. | 
| onAdd | onAdd()매개변수:  없음 반환 값:  None 오버레이 DOM 요소를 초기화하려면 이 메서드를 구현하세요. 이 메서드는 유효한 지도로 setMap()이 호출된 후 한 번 호출됩니다. 이 시점에서는 창과 프로젝션이 초기화됩니다. | 
| onRemove | onRemove()매개변수:  없음 반환 값:  None 이 메서드를 구현하여 DOM에서 요소를 삭제합니다. 이 메서드는 setMap(null) 호출 후 한 번 호출됩니다. | 
| setMap | setMap(map)매개변수:   
 반환 값:  None 지도나 파노라마에 오버레이를 추가합니다. | 
| 상속: addListener,bindTo,get,notify,set,setValues,unbind,unbindAll | |
MapPanes 인터페이스
google.maps.MapPanes
인터페이스
| 속성 | |
|---|---|
| floatPane | 유형:   Element이 페인(pane)은 정보창을 포함합니다.  모든 지도 오버레이 위에 위치합니다. (창 4). | 
| mapPane | 유형:   Element이 페인(pane)은 가장 낮은 페인(pane)으로 타일 위에 있습니다. DOM 이벤트를 수신하지 않습니다. (창 0) | 
| markerLayer | 유형:   Element이 창에는 마커가 포함되어 있습니다. DOM 이벤트를 수신하지 않습니다. (창 2) | 
| overlayLayer | 유형:   Element이 페인(pane)은 폴리라인, 폴리곤, 지면오버레이 및 타일 레이어 오버레이를 포함합니다. DOM 이벤트를 수신하지 않습니다. (창 1) | 
| overlayMouseTarget | 유형:   Element이 창에는 DOM 이벤트를 수신하는 요소가 포함됩니다. (창 3). | 
MapCanvasProjection 인터페이스
google.maps.MapCanvasProjection
인터페이스
이 객체는 draw 메서드 내에서 OverlayView에 제공됩니다. draw가 호출될 때까지 초기화가 보장되지 않습니다.
| 메서드 | |
|---|---|
| fromContainerPixelToLatLng | fromContainerPixelToLatLng(pixel[, noClampNoWrap])매개변수:   
 반환 값:   LatLng|null지도 컨테이너에서 픽셀좌표로부터 지리적 좌표를 계산합니다. | 
| fromDivPixelToLatLng | fromDivPixelToLatLng(pixel[, noClampNoWrap])매개변수:   
 반환 값:   LatLng|null드래그 가능한 지도를 보유한 div에서 픽셀좌표로부터 지리적 좌표를 계산합니다.  | 
| fromLatLngToContainerPixel | fromLatLngToContainerPixel(latLng)매개변수:   
 반환 값:   Point|null지도 컨테이너 요소에서 지정된 지리적 위치의 픽셀 좌표를 계산합니다. | 
| fromLatLngToDivPixel | fromLatLngToDivPixel(latLng)매개변수:   
 반환 값:   Point|null드래그할 수 있는 지도를 보유한 DOM 요소에서, 지정된 지리적 위치의 픽셀좌표를 계산합니다. | 
| getVisibleRegion | getVisibleRegion()매개변수:  없음 반환 값:   VisibleRegion|null지도의 표시되는 영역입니다. 지도의 크기가 없으면  null를 반환합니다. OverlayView가 StreetViewPanorama에 있으면null을 반환합니다. | 
| getWorldWidth | getWorldWidth()매개변수:  없음 반환 값:   number현재 줌레벨에서 세계의 너비입니다(픽셀 단위). 방향 각도가 90도 또는 270도인 투영의 경우 Y축의 픽셀 범위에 해당합니다. |