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à Google Maps Platform sử dụng để kết xuất 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 chiều sâu bằng hình học của toà nhà 3D và khả năng đồng bộ hoá 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 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ủ, bạn có thể mở rộng google.maps.WebGLOverlayView
và cung cấp phương thức triển khai cho từng trình kích hoạt vòng đời sau: WebGLOverlayView.onAdd
, WebGLOverlayView.onContextRestored
, WebGLOverlayView.onDraw
, WebGLOverlayView.onContextLost
và WebGLOverlayView.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()
và 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 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ể 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 đồ. Bạn chỉ có thể thêm WebGLOverlayView vào bản đồ vectơ có MapOptions.mapId
(bao gồm cả cá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 phần Thư viện trong API Maps JavaScript.
Hàm dựng | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Thông số: Không có
Tạo WebGLOverlayView . |
Phương thức | |
---|---|
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ác 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ó vì trạng thái này không còn cần thiết nữa. |
onContextRestored |
onContextRestored(options) Thông số:
Giá trị trả về: Không có
Phương thức này được gọi sau 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 WebGL nào, chẳng hạn như chương trình đổ bóng hoặc đối tượng vùng đệm. |
onDraw |
onDraw(options) Thông số:
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 mới, 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ố:
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 ả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ố:
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
Tuỳ chọn vẽ.
Thuộc tính | |
---|---|
gl |
Loại:
WebGLRenderingContext WebGLRenderingContext để kết xuất WebGLOverlayView này. |
transformer |
Loại:
CoordinateTransformer 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
Tuỳ chọn trạng thái GL.
Thuộc tính | |
---|---|
gl |
Loại:
WebGLRenderingContext WebGLRenderingContext để 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 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ữ tham chiếu đến đối tượng này bên ngoài phạm vi của lệnh gọi WebGLOverlayView.onDraw
đóng gói.
Phương thức | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Thông số:
Giá trị trả về: Ma trận MVP
Float64Array để sử dụng với WebGL. |
getCameraParams |
getCameraParams() Thông số: Không có
Giá trị trả về: các thông số máy ảnh
CameraParams |
Giao diện CameraParams
Giao diện google.maps.CameraParams
Dùng để truy xuất các tham số máy ảnh, chẳng hạn như tham số của máy ảnh GL dùng cho WebGLOverlayView
.
Giao diện này mở rộng CameraOptions
.
Thuộc tính | |
---|---|
center |
Loại:
LatLng |
heading |
Loại:
number |
tilt |
Loại:
number |
zoom |
Loại:
number |