Lớp OverlayView
Lớp google.maps.OverlayView
Bạn có thể triển khai lớp này nếu muốn hiển thị các loại đối tượng lớp phủ tuỳ chỉnh trên bản đồ.
Kế thừa từ lớp này bằng cách đặt nguyên mẫu của lớp phủ: MyOverlay.prototype = new google.maps.OverlayView();
. Hàm khởi tạo OverlayView
được đảm bảo là một hàm trống.
Bạn phải triển khai 3 phương thức: onAdd()
, draw()
và onRemove()
.
- Trong phương thức
onAdd()
, bạn nên tạo các đối tượng DOM và thêm các đối tượng đó làm thành phần con của ngăn. - Trong phương thức
draw()
, bạn nên định vị các phần tử này. - Trong phương thức
onRemove()
, bạn nên xoá các đối tượng khỏi DOM.
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 draw()
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 đồ.
Lớp này mở rộng MVCObject
.
Truy cập bằng cách gọi const {OverlayView} = await google.maps.importLibrary("maps")
hoặc const {OverlayView} = await google.maps.importLibrary("streetView")
. Xem phần Thư viện trong API Maps JavaScript.
Hàm dựng | |
---|---|
OverlayView |
OverlayView() Thông số: Không có
Tạo OverlayView . |
Phương thức tĩnh | |
---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element) Thông số:
Giá trị trả về: Không có
Ngăn sự kiện nhấp, nhấn, kéo và con lăn trên phần tử chuyển lên bản đồ. Sử dụng tính năng này để ngăn việc kéo và thu phóng bản đồ, cũng như các sự kiện "nhấp" trên bản đồ. |
preventMapHitsFrom |
preventMapHitsFrom(element) Thông số:
Giá trị trả về: Không có
Ngừng nhấp hoặc nhấn vào phần tử để chuyển lên bản đồ. Sử dụng thuộc tính này để ngăn bản đồ kích hoạt sự kiện "nhấp". |
Phương thức | |
---|---|
draw |
draw() Thông số: Không có
Giá trị trả về: Không có
Triển khai phương thức này để vẽ hoặc cập nhật lớp phủ. Sử dụng vị trí từ projection.fromLatLngToDivPixel() để đặt chính xác lớp phủ so với MapPanes. Phương thức này được gọi sau onAdd() và được gọi khi thay đổi chế độ thu phóng hoặc căn giữa. Bạn không nên thực hiện công việc tốn kém về mặt tính toán trong phương thức này. |
getMap |
getMap() Thông số: Không có
Giá trị trả về:
Map|StreetViewPanorama |
getPanes |
getPanes() Thông số: Không có
Giá trị trả về:
MapPanes|null Trả về các ngăn có thể hiển thị OverlayView này. Các ngăn sẽ không được khởi tạo cho đến khi API gọi onAdd . |
getProjection |
getProjection() Thông số: Không có
Giá trị trả về:
MapCanvasProjection Trả về đối tượng MapCanvasProjection được liên kết với OverlayView này. Hình chiếu không được khởi tạo cho đến khi API gọi onAdd . |
onAdd |
onAdd() Thông số: Không có
Giá trị trả về: Không có
Triển khai phương thức này để khởi chạy các phần tử DOM lớp phủ. Phương thức này được gọi một lần sau khi setMap() được gọi bằng một bản đồ hợp lệ. Tại thời điểm này, các ngăn và phép chiếu sẽ được khởi tạo. |
onRemove |
onRemove() Thông số: Không có
Giá trị trả về: Không có
Triển khai phương thức này để xoá các phần tử khỏi DOM. Phương thức này được gọi một lần sau lệnh gọi setMap(null). |
setMap |
setMap(map) Thông số:
Giá trị trả về: Không có
Thêm lớp phủ vào bản đồ hoặc ảnh toàn cảnh. |
Kế thừa:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
Giao diện MapPanes
Giao diện google.maps.MapPanes
Thuộc tính | |
---|---|
floatPane |
Loại:
Element Ngăn này chứa cửa sổ thông tin. Lớp phủ này nằm phía trên tất cả các lớp phủ bản đồ. (Ngăn 4). |
mapPane |
Loại:
Element Ngăn này là ngăn thấp nhất và nằm phía trên các thẻ thông tin. Lớp này không nhận được sự kiện DOM. (Ngăn 0). |
markerLayer |
Loại:
Element Ngăn này chứa các điểm đánh dấu. Lớp này không nhận được sự kiện DOM. (Ngăn 2). |
overlayLayer |
Loại:
Element Ngăn này chứa các đường đa tuyến, đa giác, lớp phủ mặt đất và lớp phủ lớp xếp kề. Lớp này không nhận được sự kiện DOM. (Ngăn 1). |
overlayMouseTarget |
Loại:
Element Ngăn này chứa các phần tử nhận sự kiện DOM. (Ngăn 3). |
Giao diện MapCanvasProjection
Giao diện google.maps.MapCanvasProjection
Đối tượng này được cung cấp cho OverlayView
từ bên trong phương thức vẽ. Không đảm bảo rằng lớp này được khởi tạo cho đến khi lệnh vẽ được gọi.
Phương thức | |
---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap]) Thông số:
Giá trị trả về:
LatLng|null Tính toán toạ độ địa lý từ toạ độ pixel trong vùng chứa của bản đồ. |
fromDivPixelToLatLng |
fromDivPixelToLatLng(pixel[, noClampNoWrap]) Thông số:
Giá trị trả về:
LatLng|null Tính toán toạ độ địa lý từ toạ độ pixel trong div chứa bản đồ có thể kéo. |
fromLatLngToContainerPixel |
fromLatLngToContainerPixel(latLng) Thông số:
Giá trị trả về:
Point|null Tính toán toạ độ pixel của vị trí địa lý đã cho trong phần tử vùng chứa của bản đồ. |
fromLatLngToDivPixel |
fromLatLngToDivPixel(latLng) Thông số:
Giá trị trả về:
Point|null Tính toán toạ độ pixel của vị trí địa lý nhất định trong phần tử DOM chứa bản đồ có thể kéo. |
getVisibleRegion |
getVisibleRegion() Thông số: Không có
Giá trị trả về:
VisibleRegion|null Khu vực hiển thị của bản đồ. Trả về null nếu bản đồ không có kích thước. Trả về null nếu OverlayView nằm trên StreetViewPanorama. |
getWorldWidth |
getWorldWidth() Thông số: Không có
Giá trị trả về:
number Chiều rộng của thế giới tính bằng pixel ở mức thu phóng hiện tại. Đối với các phép chiếu có góc hướng là 90 hoặc 270 độ, giá trị này tương ứng với khoảng pixel trên trục Y. |