DOM elements

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()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.
Bạn phải gọi 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) 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.

OverlayView
OverlayView()
Tham số: Không có
Tạo OverlayView.
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".
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ố: 
  • mapMap|StreetViewPanorama optional Bản đồ hoặc ảnh toàn cảnh. Nếu giá trị là null, lớp này sẽ bị xoá.
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

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.

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
Các thông số: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
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ố: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
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.