WebGL

Lớp WebGLOverlayView

Lớp google.maps.WebGLOverlayView

Lớp phủ WebGL cung cấp quyền truy cập trực tiếp vào cùng một ngữ cảnh kết xuất WebGL mà Google Maps Platform dùng để kết xuất bản đồ cơ sở dạng vectơ. Việc sử dụng ngữ cảnh kết xuất dùng chung này mang lại những lợi ích như độ che khuất chiều sâu với hình học toà nhà 3D và khả năng đồng bộ hoá nội dung 2D/3D với hoạt động kết xuất bản đồ cơ sở.

Với WebGL Overlay View, bạn có thể thêm nội dung vào bản đồ bằng cách sử dụng trực tiếp WebGL hoặc các thư viện đồ hoạ phổ biến như Three.js hoặc deck.gl. Để sử dụng lớp phủ này, bạn có thể mở rộng google.maps.WebGLOverlayView và cung cấp một cách triển khai cho từng hook vòng đời sau đây: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLostWebGLOverlayView.onRemove.

Bạn phải gọi WebGLOverlayView.setMap bằng một đối tượng Map hợp lệ để kích hoạt lệnh gọi đến phương thức onAdd()setMap(null) để kích hoạt phương thức onRemove(). Bạn có thể gọi phương thức setMap() tại thời điểm tạo hoặc bất cứ lúc nào sau đó khi lớp phủ cần được hiển thị lại sau khi xoá. Sau đó, phương thức onDraw() sẽ được gọi bất cứ khi nào một thuộc tính bản đồ thay đổi có thể làm thay đổi vị trí của phần tử, chẳng hạn như mức thu phóng, tâm hoặc loại bản đồ. Bạn chỉ có thể thêm WebGLOverlayView vào bản đồ vectơ có MapOptions.mapId (bao gồm cả bản đồ được đặt thành RenderingType.VECTOR MapOptions.renderingType và sử dụng Map.DEMO_MAP_ID làm MapOptions.mapId).

Lớp này mở rộng MVCObject.

Truy cập bằng cách gọi const {WebGLOverlayView} = await google.maps.importLibrary("maps").
Xem Thư viện trong Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Tham số:  Không có
Tạo WebGLOverlayView.
getMap
getMap()
Tham số:  Không có
Giá trị trả về:  Map|null|undefined
onAdd
onAdd()
Tham số:  Không có
Giá trị trả về:  Không có
Triển khai phương thức này để tìm nạp hoặc tạo cấu trúc dữ liệu trung gian trước khi lớp phủ được vẽ mà không yêu cầu quyền truy cập ngay vào ngữ cảnh kết xuất WebGL. Bạn phải triển khai phương thức này để hiển thị.
onContextLost
onContextLost()
Tham số:  Không có
Giá trị trả về:  Không có
Phương thức này được gọi khi ngữ cảnh kết xuất bị mất vì bất kỳ lý do gì. Đây là nơi bạn nên dọn dẹp mọi trạng thái GL hiện có vì trạng thái đó không còn cần thiết nữa.
onContextRestored
onContextRestored(options)
Tham số: 
  • optionsWebGLStateOptions cho phép nhà phát triển khôi phục bối cảnh GL.
Giá trị trả về:  Không có
Phương thức này được gọi sau khi ngữ cảnh kết xuất có sẵn. Sử dụng phương thức này để khởi tạo hoặc liên kết mọi trạng thái WebGL, chẳng hạn như chương trình đổ bóng hoặc đối tượng vùng đệm.
onDraw
onDraw(options)
Tham số: 
  • optionsWebGLDrawOptions cho phép nhà phát triển kết xuất nội dung vào một bản đồ cơ sở liên kết của Google.
Giá trị trả về:  Không có
Triển khai phương thức này để vẽ nội dung WebGL trực tiếp trên bản đồ. Xin lưu ý rằng nếu lớp phủ cần vẽ một khung hình mới, hãy gọi WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Tham số:  Không có
Giá trị trả về:  Không có
Phương thức này được gọi khi lớp phủ bị xoá khỏi bản đồ bằng WebGLOverlayView.setMap(null) và là nơi bạn nên xoá tất cả các đối tượng trung gian. Bạn phải triển khai phương thức này để hiển thị.
onStateUpdate
onStateUpdate(options)
Tham số: 
  • optionsWebGLStateOptions cho phép nhà phát triển khôi phục bối cảnh GL.
Giá trị trả về:  Không có
Triển khai phương thức này để xử lý mọi nội dung cập nhật trạng thái GL bên ngoài khung hình ảnh động kết xuất.
requestRedraw
requestRedraw()
Tham số:  Không có
Giá trị trả về:  Không có
Kích hoạt bản đồ để vẽ lại một khung hình.
requestStateUpdate
requestStateUpdate()
Tham số:  Không có
Giá trị trả về:  Không có
Kích hoạt bản đồ để cập nhật trạng thái GL.
setMap
setMap([map])
Tham số: 
  • mapMap optional Bản đồ để truy cập vào trạng thái div, mô hình và khung hiển thị.
Giá trị trả về:  Không có
Thêm lớp phủ vào bản đồ.
Kế thừa: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Giao diện WebGLDrawOptions

google.maps.WebGLDrawOptionsgiao diện

Các lựa chọn vẽ.

gl
WebGLRenderingContext để kết xuất WebGLOverlayView này.
transformer
Phép biến đổi ma trận từ không gian camera sang toạ độ vĩ độ/kinh độ.

Giao diện WebGLStateOptions

google.maps.WebGLStateOptionsgiao diện

Các lựa chọn về tiểu bang ở GL.

gl
WebGLRenderingContext để kết xuất WebGLOverlayView này.

Giao diện CoordinateTransformer

google.maps.CoordinateTransformergiao diện

Giao diện này cung cấp các phương thức thuận tiện để tạo ma trận dùng cho việc kết xuất cảnh WebGL trên bản đồ cơ sở của Google.

Lưu ý: Bạn không được giữ một tham chiếu đến đối tượng này bên ngoài phạm vi của lệnh gọi WebGLOverlayView.onDraw bao bọc.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Tham số: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Vĩ độ, kinh độ và độ cao.
  • rotationsFloat32Array optional Một mảng chứa góc xoay Euler theo độ, theo quy ước XYZ.
  • scaleFloat32Array optional Mảng chứa một mảng vô hướng XYZ để áp dụng cho trục chính.
Giá trị trả về:  Float64Array Ma trận MVP để sử dụng với WebGL.
getCameraParams
getCameraParams()
Tham số:  Không có
Giá trị trả về:  CameraParams tham số camera

Giao diện CameraParams

google.maps.CameraParamsgiao diện

Dùng để truy xuất các tham số camera, chẳng hạn như tham số của camera GL dùng cho WebGLOverlayView.

Giao diện này mở rộng CameraOptions.

center
Loại:  LatLng
heading
Loại:  number
tilt
Loại:  number
zoom
Loại:  number