DOM elements

Klasa OverlayView

google.maps.OverlayView zajęcia

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

Odziedzicz z tych zajęć, ustawiając prototyp nakładki: MyOverlay.prototype = new google.maps.OverlayView();. Konstruktor OverlayView zawsze jest funkcją pustą.

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

  • W metodzie onAdd() utwórz obiekty DOM i dołącz je jako elementy podrzędne paneli.
  • W metodzie draw() te elementy należy umieścić.
  • W metodzie onRemove() usuń obiekty z DOM.
Musisz wywołać metodę setMap() z prawidłowym obiektem Map, by wywołać metodę onAdd() i setMap(null) w celu aktywowania metody onRemove(). Metoda setMap() może zostać wywołana podczas tworzenia nakładki lub w dowolnym momencie po jej usunięciu, gdy trzeba będzie ponownie wyświetlić nakładkę. Metoda draw() będzie wtedy wywoływana za każdym razem, gdy zmieni się właściwość mapy, która może zmienić pozycję elementu (np. powiększenie, wyśrodkowanie lub typ mapy).

Te zajęcia są rozszerzone na MVCObject.

Aby uzyskać dostęp, zadzwoń 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 OverlayView.
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
Parametry: 
Zwracana wartość: brak
Uniemożliwia przesuwanie się zdarzeń kliknięcia, dotykania, przeciągania i przesuwania kółkiem elementu aż do mapy. Służy do zapobiegania przeciąganiu i powiększaniu mapy oraz zdarzeń polegających na kliknięciu.
preventMapHitsFrom
preventMapHitsFrom(element)
Parametry: 
Zwracana wartość: brak
Zatrzymuje klikanie lub klikanie elementu przed pojawieniem się mapy. Służy do zapobiegania wywoływaniu przez mapę zdarzeń „kliknięcia”.
draw
draw()
Parametry: brak
Zwracana wartość: brak
Korzystając z tej metody, możesz rysować lub aktualizować nakładkę. Użyj pozycji z metody projection.fromLatLngToDivPixel(), aby poprawnie ustawić nakładkę względem paneli map. Ta metoda jest wywoływana po metodzie onAdd(), a wywołana przy zmianie powiększenia lub środka. Nie zalecamy wykonywania kosztownych obliczeń w ramach tej metody.
getMap
getMap()
Parametry: brak
Wartość zwrotu:  Map|StreetViewPanorama
getPanes
getPanes()
Parametry: brak
Wartość zwrotu:  MapPanes|null
Zwraca panele, w których można renderować obiekt OverlayView. Panele nie zostaną zainicjowane, dopóki interfejs API nie wywoła funkcji onAdd.
getProjection
getProjection()
Parametry: brak
Wartość zwrotu:  MapCanvasProjection
Zwraca obiekt MapCanvasProjection powiązany z obiektem OverlayView. Projekcja nie zostanie zainicjowana, dopóki interfejs API nie wywoła funkcji onAdd.
onAdd
onAdd()
Parametry: brak
Zwracana wartość: brak
Zaimplementuj tę metodę, by zainicjować nakładki DOM. Metoda ta jest wywoływana raz po wywołaniu metody setMap() z prawidłową mapą. W tym momencie panele i projekcja zostały zainicjowane.
onRemove
onRemove()
Parametry: brak
Zwracana wartość: brak
Za pomocą tej metody możesz usuwać elementy z DOM. Metoda ta jest wywoływana raz po wywołaniu setMap(null).
setMap
setMap(map)
Parametry: 
  • mapMap|StreetViewPanorama optional mapa lub panorama. Jeśli ustawiona jest wartość null, warstwa zostanie usunięta.
Zwracana 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ę on ponad wszystkimi nakładkami na mapie. (Panel 4).
mapPane
Typ:  Element
Ten panel jest najniższym panelem i znajduje się nad kafelkami. Nie otrzymuje zdarzeń DOM. (Panel 0).
markerLayer
Typ:  Element
Ten panel zawiera znaczniki. Nie otrzymuje zdarzeń DOM. (Panel 2).
overlayLayer
Typ:  Element
Ten panel zawiera linie łamane, wielokąty, warstwy na powierzchni oraz warstwy warstw z kafelkami. Nie otrzymuje zdarzeń DOM. (Panel 1).
overlayMouseTarget
Typ:  Element
Ten panel zawiera elementy, które odbierają zdarzenia DOM. (Panel 3).

Interfejs MapCanvasProjection

google.maps.MapCanvasProjection interfejs

OverlayView otrzymuje ten obiekt z poziomu metody rysowania. Nie ma gwarancji, że zostanie zainicjowane, dopóki nie wywoła się funkcji rysowania.

fromContainerPixelToLatLng
fromContainerPixelToLatLng(pixel[, noClampNoWrap])
Parametry: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Wartość zwrotu:  LatLng|null
Oblicza współrzędne geograficzne na podstawie współrzędnych piksela w kontenerze mapy.
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
Parametry: 
  • pixelPoint optional
  • noClampNoWrapboolean optional
Wartość zwrotu:  LatLng|null
Oblicza współrzędne geograficzne na podstawie współrzędnych piksela w elemencie div, w którym znajduje się ruchoma mapa.
fromLatLngToContainerPixel
fromLatLngToContainerPixel(latLng)
Parametry: 
Wartość zwrotu:  Point|null
Oblicza współrzędne pikselowe danej lokalizacji geograficznej w elemencie kontenera mapy.
fromLatLngToDivPixel
fromLatLngToDivPixel(latLng)
Parametry: 
Wartość zwrotu:  Point|null
Oblicza współrzędne pikselowe danej lokalizacji geograficznej w elemencie DOM, który zawiera mapę możliwą do przeciągania.
getVisibleRegion
getVisibleRegion()
Parametry: brak
Wartość zwrotu:  VisibleRegion|null
Widoczny region mapy. Zwraca wartość null, jeśli mapa nie ma określonego rozmiaru. Zwraca wartość null, jeśli element OverlayView znajduje się w panoramie StreetView.
getWorldWidth
getWorldWidth()
Parametry: brak
Wartość zwrotu:  number
Szerokość świata w pikselach w bieżącym poziomie powiększenia. W przypadku odwzorowania z kątem kierunkowym wynoszącym 90 lub 270 stopni odpowiada to rozpiętości pikseli na osi Y.