WebGLOverlayView 클래스
google.maps.WebGLOverlayView
클래스
WebGL 오버레이 뷰를 사용하면 Google Maps Platform에서 벡터 기본 지도를 렌더링하는 데 사용하는 동일한 WebGL 렌더링 컨텍스트에 직접 액세스할 수 있습니다. 이와 같이 공유된 렌더링 컨텍스트를 사용하면 3D 빌딩 도형의 깊이 오클루전 및 2D/3D 콘텐츠를 기본 지도 렌더링과 동기화할 수 있는 기능과 같은 이점이 있습니다.
WebGL 오버레이 뷰를 사용하면 WebGL을 직접 사용하거나 Three.js 또는 deck.gl과 같은 인기 그래픽 라이브러리를 사용하여 지도에 콘텐츠를 추가할 수 있습니다. 오버레이를 사용하려면 google.maps.WebGLOverlayView
를 확장하고 다음 수명 주기 후크(WebGLOverlayView.onAdd
, WebGLOverlayView.onContextRestored
, WebGLOverlayView.onDraw
, WebGLOverlayView.onContextLost
, WebGLOverlayView.onRemove
) 각각에 대한 구현을 제공하면 됩니다.
유효한 Map
객체를 사용하여 WebGLOverlayView.setMap
를 호출하여 onAdd()
메서드 호출을 트리거하고 setMap(null)
를 호출하여 onRemove()
메서드를 트리거해야 합니다. setMap()
메서드는 생성 시 또는 덮기를 삭제한 후 다시 표시해야 하는 시점에 호출할 수 있습니다. 그러면 확대/축소, 중심, 지도 유형과 같이 요소의 위치를 변경할 수 있는 지도 속성이 변경될 때마다 onDraw()
메서드가 호출됩니다. WebGLOverlayView는 MapOptions.mapId
가 있는 벡터 지도에만 추가할 수 있습니다 (RenderingType.VECTOR
MapOptions.renderingType
로 설정되고 Map.DEMO_MAP_ID
를 MapOptions.mapId
로 사용하는 지도 포함).
이 클래스는 MVCObject
를 확장합니다.
const {WebGLOverlayView} = await google.maps.importLibrary("maps")
를 호출하여 액세스합니다. Maps JavaScript API의 라이브러리를 참고하세요.
생성자 | |
---|---|
WebGLOverlayView |
WebGLOverlayView() 매개변수: 없음
WebGLOverlayView 를 만듭니다. |
메서드 | |
---|---|
getMap |
getMap() 매개변수: 없음
반환 값:
Map|null|undefined |
onAdd |
onAdd() 매개변수: 없음
반환 값: 없음
이 메서드를 구현하여 오버레이가 그려지기 전에 WebGL 렌더링 컨텍스트에 즉시 액세스할 필요가 없는 중간 데이터 구조를 가져오거나 만들 수 있습니다. 렌더링하려면 이 메서드를 구현해야 합니다. |
onContextLost |
onContextLost() 매개변수: 없음
반환 값: 없음
이 메서드는 어떤 이유로든 렌더링 컨텍스트가 손실될 때 호출되며 기존 GL 상태는 더 이상 필요하지 않으므로 여기에서 삭제해야 합니다. |
onContextRestored |
onContextRestored(options) 매개변수:
반환 값: 없음
이 메서드는 렌더링 컨텍스트를 사용할 수 있게 되면 호출됩니다. 이를 사용하여 셰이더나 버퍼 객체와 같은 WebGL 상태를 초기화하거나 바인딩할 수 있습니다. |
onDraw |
onDraw(options) 매개변수:
반환 값: 없음
이 메서드를 구현하여 지도에 WebGL 콘텐츠를 직접 그립니다. 오버레이에 새 프레임이 그려져야 하는 경우 WebGLOverlayView.requestRedraw 를 호출합니다. |
onRemove |
onRemove() 매개변수: 없음
반환 값: 없음
이 메서드는 오버레이가 WebGLOverlayView.setMap(null) 를 사용하여 지도에서 삭제될 때 호출되며 여기에서 모든 중간 객체를 삭제해야 합니다. 렌더링하려면 이 메서드를 구현해야 합니다. |
onStateUpdate |
onStateUpdate(options) 매개변수:
반환 값: 없음
이 메서드를 구현하여 렌더링 애니메이션 프레임 외부의 GL 상태 업데이트를 처리합니다. |
requestRedraw |
requestRedraw() 매개변수: 없음
반환 값: 없음
지도를 트리거하여 프레임을 다시 그립니다. |
requestStateUpdate |
requestStateUpdate() 매개변수: 없음
반환 값: 없음
GL 상태를 업데이트하도록 맵을 트리거합니다. |
setMap |
setMap([map]) 매개변수:
반환 값: 없음
지도에 오버레이를 추가합니다. |
상속:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
WebGLDrawOptions 인터페이스
google.maps.WebGLDrawOptions
인터페이스
그리기 옵션
속성 | |
---|---|
gl |
이 WebGLOverlayView를 렌더링할 WebGLRenderingContext입니다. |
transformer |
카메라 공간에서 위도/경도 좌표로의 행렬 변환입니다. |
WebGLStateOptions 인터페이스
google.maps.WebGLStateOptions
인터페이스
GL 상태 옵션
속성 | |
---|---|
gl |
이 WebGLOverlayView를 렌더링할 WebGLRenderingContext입니다. |
CoordinateTransformer 인터페이스
google.maps.CoordinateTransformer
인터페이스
이 인터페이스는 Google 기본 지도 위에 WebGL 장면을 렌더링하는 데 사용할 행렬을 생성하는 편의 메서드를 제공합니다.
참고: 이 객체 참조는 캡슐화된 WebGLOverlayView.onDraw
호출 범위 외부에서 유지되어서는 안 됩니다.
메서드 | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) 매개변수:
반환 값: WebGL과 함께 사용할
Float64Array MVP 행렬입니다. |
getCameraParams |
getCameraParams() 매개변수: 없음
반환 값:
CameraParams 카메라 매개변수 |
CameraParams 인터페이스
google.maps.CameraParams
인터페이스
WebGLOverlayView
에 사용된 GL 카메라와 같은 카메라 매개변수를 검색하는 데 사용됩니다.
이 인터페이스는 CameraOptions
를 확장합니다.
속성 | |
---|---|
center |
유형:
LatLng |
heading |
유형:
number |
tilt |
유형:
number |
zoom |
유형:
number |