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 phần tử 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á đố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)
nhằm 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 tại bất kỳ thời điểm nào sau đó, khi lớp phủ sẽ 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 mà 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 Thư viện trong API JavaScript Maps.
Hàm dựng | |
---|---|
OverlayView |
OverlayView() Tham số: Không có
Tạo OverlayView . |
Phương thức tĩnh | |
---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element) Các thông số:
Giá trị trả lại hàng: Không có
Dừng các sự kiện nhấp, nhấn, kéo và di chuyển con lăn trên phần tử từ khi nổi lên bản đồ. Sử dụng mục này để ngăn việc kéo và thu phóng bản đồ, cũng như các sự kiện "nhấp" vào bản đồ. |
preventMapHitsFrom |
preventMapHitsFrom(element) Các thông số:
Giá trị trả lại hàng: Không có
Dừng thao tác nhấp hoặc nhấn vào thành phần xuất hiện trên bản đồ. Sử dụng thuộc tính này để ngăn bản đồ kích hoạt các sự kiện "nhấp chuột". |
Phương thức | |
---|---|
draw |
draw() Tham số: Không có
Giá trị trả lại hàng: 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ừ phép chiếu.fromLatLngToDivPixel() để định vị chính xác lớp phủ tương ứng với MapPanes. Phương thức này được gọi sau onAdd() và được gọi khi thay đổi mức thu phóng hoặc tâm. Bạn không nên thực hiện các tác vụ tính toán tiêu tốn tài nguyên trong phương pháp này. |
getMap |
getMap() Tham số: Không có
Giá trị trả về:
Map|StreetViewPanorama |
getPanes |
getPanes() Tham số: Không có
Giá trị trả về:
MapPanes|null Trả về các ngăn mà trong đó OverlayView có thể được kết xuất. Các ngăn này không được khởi tạo cho đến khi onAdd được API gọi. |
getProjection |
getProjection() Tham số: Không có
Giá trị trả về:
MapCanvasProjection Trả về đối tượng MapCanvasProjection liên kết với OverlayView này. Phép chiếu không được khởi chạy cho đến khi onAdd được API gọi. |
onAdd |
onAdd() Tham số: Không có
Giá trị trả lại hàng: Không có
Triển khai phương thức này để khởi tạo 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 với 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 động. |
onRemove |
onRemove() Tham số: Không có
Giá trị trả lại hàng: Không có
Triển khai phương pháp này để xoá các phần tử của bạn khỏi DOM. Phương thức này được gọi một lần sau lệnh gọi đến setMap(null). |
setMap |
setMap(map) Các thông số:
Giá trị trả lại hàng: 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. Nó nằm trên tất cả các lớp phủ bản đồ. (Cửa 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 ô. Tài sản này không nhận được sự kiện DOM. (Pane 0). |
markerLayer |
Loại:
Element Ngăn này chứa điểm đánh dấu. Tài sản này không nhận được sự kiện DOM. (Góc 2). |
overlayLayer |
Loại:
Element Ngăn này chứa các hình nhiều đường, đa giác, lớp phủ mặt đất và lớp phủ lớp xếp kề. Tài sản này không nhận được sự kiện DOM. (Góc 1). |
overlayMouseTarget |
Loại:
Element Ngăn này chứa các phần tử nhận sự kiện DOM. (Cửa 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ẽ. Quá trình này không được đảm bảo sẽ được khởi động cho đến khi lệnh vẽ được gọi.
Phương thức | |
---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap]) Các 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]) Các 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) Các 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) Các 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ử DOM chứa bản đồ có thể kéo được. |
getVisibleRegion |
getVisibleRegion() Tham số: Không có
Giá trị trả về:
VisibleRegion|null Khu vực nhìn thấy 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 một Chế độ xem đường phố. |
getWorldWidth |
getWorldWidth() Tham 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 độ, điều này tương ứng với khoảng điểm ảnh trong trục Y. |