DOM elements

Klasa OverlayView

google.maps.OverlayView klasa

Możesz wdrożyć tę klasę, jeśli chcesz wyświetlać na mapie niestandardowe typy nakładek.

Odziedzicz z tych zajęć, ustawiając prototyp: MyOverlay.prototype = new google.maps.OverlayView(); Gwarantujemy, że konstruktor OverlayView jest pustą funkcją.

Musisz zastosować 3 metody: onAdd(), draw() i onRemove().

  • W metodzie onAdd() należy utworzyć obiekty DOM i dołączyć je jako elementy podrzędne paneli.
  • W metodzie draw() te elementy powinny znajdować się w odpowiednim miejscu.
  • W metodzie onRemove() należy usunąć obiekty z modelu DOM.
Aby wywołać metodę onRemove(), musisz wywołać metodę setMap() z prawidłowym obiektem Map, aby wywołać metodę onAdd() i metodę setMap(null). Metoda setMap() może zostać wywołana w chwili tworzenia lub w dowolnym momencie po usunięciu nakładki, gdy powinna zostać wyświetlona ponownie. Metoda draw() jest wywoływana za każdym razem, gdy zmienia się właściwość mapy, która może spowodować zmianę położenia elementu, np. powiększenia, wyśrodkowania lub typu mapy.

Te zajęcia rozciągają się do MVCObject.

Możesz uzyskać dostęp, dzwoniąc pod numer const {OverlayView} = await google.maps.importLibrary("maps") lub const {OverlayView} = await google.maps.importLibrary("streetView"). Zobacz Biblioteki w interfejsie Maps JavaScript API.

OverlayView
OverlayView()
Parametry: brak
Tworzy element OverlayView.
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
Parametry: 
Zwróć wartość: brak
Zatrzymuje przesuwanie, klikanie, przeciąganie i koło zdarzeń tego elementu na mapie. Dzięki niemu możesz zapobiegać przeciąganiu i powiększaniu mapy, a także na zdarzeniach kliknięcia związanych z mapą.
preventMapHitsFrom
preventMapHitsFrom(element)
Parametry: 
Zwróć wartość: brak
Zatrzymuje klikanie elementu na mapie. Pozwala zapobiegać wywoływaniu przez mapę zdarzeń „kliknięcie”.
draw
draw()
Parametry: brak
Zwróć wartość: brak
Zaimplementuj tę metodę, aby rysować lub aktualizować nakładkę. Użyj położenia z projektu.fromLatLngToDivPixel(), aby prawidłowo ustawić nakładkę w stosunku do elementu MapPanes. Ta metoda jest wywoływana po wywołaniu onAdd() i jest wywoływana po zmianie powiększenia lub środka. Nie zalecamy wykonywania w tej metodzie obliczeń wymagających kosztownych obliczeń.
getMap
getMap()
Parametry: brak
Zwrócona wartość:  Map|StreetViewPanorama
getPanes
getPanes()
Parametry: brak
Zwrócona wartość:  MapPanes|null
Zwraca okienka, w których można wyświetlać ten nakładka. Panele nie zostaną zainicjowane, dopóki interfejs API nie wywoła wywołania onAdd.
getProjection
getProjection()
Parametry: brak
Zwrócona wartość:  MapCanvasProjection
Zwraca obiekt MapCanvasProjection powiązany z tym obiektem OverlayView. Projekcja nie zostanie zainicjowana, dopóki interfejs API nie wywoła wywołania onAdd.
onAdd
onAdd()
Parametry: brak
Zwróć wartość: brak
Zaimplementuj tę metodę w celu inicjowania elementów nakładki DOM. Ta metoda jest wywoływana raz po wywołaniu funkcji setMap() z prawidłową mapą. Od tego momentu panele i projekcja zostaną zainicjowane.
onRemove
onRemove()
Parametry: brak
Zwróć wartość: brak
Zaimplementuj tę metodę, aby usunąć elementy z DOM. Ta metoda jest wywoływana raz po wywołaniu funkcji setMap(null).
setMap
setMap(map)
Parametry: 
Zwróć wartość: brak
Dodaje nakładkę do mapy lub panoramy.
Dziedziczone: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Interfejs MapPanes

google.maps.MapPanes interfejs

floatPane
Typ:  Element
Ten panel zawiera okno informacyjne. Znajduje się nad wszystkimi nakładkami na mapie. (Pan 4).
mapPane
Typ:  Element
Jest to najniższy panel i znajduje się nad kafelkami. Nie otrzymuje zdarzeń DOM. (Pan 0).
markerLayer
Typ:  Element
Ten panel zawiera znaczniki. Nie otrzymuje zdarzeń DOM. (Pan 2).
overlayLayer
Typ:  Element
Panel zawiera linie łamane, wielokąty, nawierzchnie i nakładki kafelków. Nie otrzymuje zdarzeń DOM. (Pan 1).
overlayMouseTarget
Typ:  Element
Ten panel zawiera elementy, które otrzymują zdarzenia DOM. (Pan 3).

Interfejs MapCanvasProjection

google.maps.MapCanvasProjection interfejs

Ten obiekt jest dostępny dla obiektu OverlayView z metody rysowania. Nie można go zainicjować, dopóki nie zostanie wywołany rysowanie.

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
Parametry: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Zwrócona wartość:  LatLng|null
Oblicza współrzędne geograficzne ze współrzędnych pikselowych w kontenerze mapy.
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
Parametry: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Zwrócona wartość:  LatLng|null
Określa współrzędne geograficzne na podstawie pikseli pikselowych w elemencie div zawierającym mapę, którą można przeciągać.
fromLatLngToContainerPixel
fromLatLngToContainerPixel(latLng)
Parametry: 
Zwrócona wartość:  Point|null
Oblicza współrzędne pikselowe danego położenia geograficznego w kontenerze mapy.
fromLatLngToDivPixel
fromLatLngToDivPixel(latLng)
Parametry: 
Zwrócona wartość:  Point|null
Oblicza współrzędne piksela w danej lokalizacji w elemencie DOM zawierającym mapę, którą można przeciągać.
getVisibleRegion
getVisibleRegion()
Parametry: brak
Zwrócona wartość:  VisibleRegion|null
Widoczna część mapy. Zwraca wartość null, jeśli mapa nie ma rozmiaru. Zwraca wartość null, jeśli nakładka znajduje się w Street View Panorama.
getWorldWidth
getWorldWidth()
Parametry: brak
Zwrócona wartość:  number
Szerokość świata w pikselach na bieżącym poziomie powiększenia. W przypadku projekcji z kątem nachylenia równym 90 lub 270 stopni odpowiada rozpiętości pikseli na osi Y.