WebGL

Lớp WebGLOverlayView

Lớp google.maps.WebGLOverlayView

Chế độ xem 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à Nền tảng Google Maps sử dụng để hiển thị bản đồ cơ sở vectơ. Việc sử dụng ngữ cảnh kết xuất dùng chung này mang lại các lợi ích như che khuất độ sâu với hình học xây dựng 3D và khả năng đồng bộ hóa nội dung 2D/3D với kết xuất bản đồ cơ sở.

Với Chế độ xem lớp phủ WebGL, bạn có thể thêm trực tiếp nội dung vào bản đồ của mình bằng WebGL hoặc các thư viện Đồ họa phổ biến như Triple.js hoặc Deck.gl. Để sử dụng lớp phủ, bạn có thể mở rộng google.maps.WebGLOverlayView và triển khai từng phương thức móc trong vòng đời sau: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLostWebGLOverlayView.onRemove.

Bạn phải gọi WebGLOverlayView.setMap bằng đố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(). Phương thức setMap() có thể được gọi tại thời điểm xây dựng hoặc bất cứ lúc nào sau đó, thời điểm lớp phủ hiển thị lại sau khi xoá. Phương thức onDraw() sau đó sẽ được gọi mỗi khi một thuộc tính của bản đồ thay đổi có thể thay đổi vị trí của phần tử, chẳng hạn như thu phóng, căn giữa hoặc loại bản đồ. Chỉ có thể thêm WebGLOverlayView vào bản đồ vectơ có 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 phần Thư viện trong Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Thông số: Không có
Tạo WebGLOverlayView.
getMap
getMap()
Thông số: Không có
Giá trị trả về:  Map|null|undefined
onAdd
onAdd()
Thông 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()
Thông 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ì và là nơi bạn nên dọn dẹp mọi trạng thái GL hiện có trước đó, vì không cần thiết nữa.
onContextRestored
onContextRestored(options)
Thông số: 
  • optionsWebGLStateOptions cho phép nhà phát triển khôi phục ngữ cảnh GL.
Giá trị trả về: Không có
Phương thức này được gọi khi có ngữ cảnh kết xuất. Sử dụng đối tượng này để khởi tạo hoặc liên kết bất kỳ trạng thái nào của WebGL, chẳng hạn như các chương trình đổ bóng hoặc đối tượng vùng đệm.
onDraw
onDraw(options)
Thông số: 
  • optionsWebGLDrawOptions cho phép nhà phát triển hiển thị nội dung vào bản đồ cơ sở được 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 đồ. Lưu ý rằng nếu lớp phủ cần một khung mới được vẽ, hãy gọi WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Thông 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)
Thông số: 
  • optionsWebGLStateOptions cho phép các nhà phát triển khôi phục ngữ cảnh GL.
Giá trị trả về: Không có
Hãy 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 ảnh động kết xuất.
requestRedraw
requestRedraw()
Thông số: Không có
Giá trị trả về: Không có
Kích hoạt bản đồ để vẽ lại một khung.
requestStateUpdate
requestStateUpdate()
Thông 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])
Thông số: 
  • mapMap optional Bản đồ để truy cập vào div, mô hình và trạng thái xem.
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

Giao diện google.maps.WebGLDrawOptions

Tùy chọn bản vẽ.

gl
WebGLRenderingContext, nơi để kết xuất WebGLOverlayView này.
transformer
Biến đổi ma trận từ không gian máy ảnh sang toạ độ vĩ độ/kinh độ.

Giao diện WebGLStateOptions

Giao diện google.maps.WebGLStateOptions

Tùy chọn trạng thái GL.

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

Giao diện CoordinateTransformer

Giao diện google.maps.CoordinateTransformer

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 để kết xuất các cảnh WebGL ở đầu bản đồ cơ sở của Google.

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

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

Giao diện CameraParams

Giao diện google.maps.CameraParams

Dùng để truy xuất các thông số của máy ảnh, chẳng hạn như thông số của máy ảnh 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