Warstwy

Wybierz platformę: Android JavaScript

Warstwy to obiekty na mapie, które składają się z co najmniej 1 oddzielnego elementu, ale są traktowane jako jedna całość. Warstwy zwykle odzwierciedlają kolekcje obiektów, które dodajesz na mapie, aby oznaczyć wspólne powiązanie. Interfejs Maps JavaScript API zarządza prezentacją obiektów w warstwach, renderując ich elementy składowe w jeden obiekt (zwykle nakładkę kafelkową) i wyświetlając je w miarę zmiany widocznego obszaru mapy. Warstwy mogą też zmieniać warstwę prezentacji samej mapy, nieznacznie modyfikując kafelki bazowe w sposób zgodny z warstwą. Pamiętaj, że większość warstw z założenia nie jest dostępna za pomocą poszczególnych obiektów, ale można nimi manipulować tylko jako całością.

Omówienie warstw

Interfejs Maps JavaScript API ma kilka typów warstw:

  • Warstwa danych Map Google zapewnia kontener na dowolne dane geoprzestrzenne. Warstwy danych możesz używać do przechowywania danych niestandardowych lub wyświetlania danych GeoJSON na mapie Google.
  • Warstwa KML renderuje elementy KML i GeoRSS w nakładce kafelkowej interfejsu Maps JavaScript API.
  • Warstwa ruchu pokazuje na mapie warunki na drodze.
  • Warstwa transportu publicznego wyświetla na mapie sieć transportu publicznego w Twoim mieście.
  • Obiekt Bicycling layer renderuje warstwę ścieżek rowerowych lub nakładek związanych z rowerami w warstwie wspólnej. Ta warstwa jest domyślnie zwracana przez obiekt DirectionsRenderer podczas wysyłania żądania wskazówek dojazdu w trybie BICYCLING.

Dodawanie warstwy

Aby dodać warstwę do mapy, wystarczy wywołać metodę setMap(), przekazując jej obiekt mapy, na której ma być wyświetlana warstwa. Podobnie, aby ukryć warstwę, wywołaj setMap(), przekazując null.

Poniższy fragment kodu wyśrodkowuje mapę na Londyn w Wielkiej Brytanii i dodaje warstwę transportu publicznego.

var mapOptions = {
  zoom: 13,
  center: new google.maps.LatLng(51.5,-0.11)
}

var map = new google.maps.Map(document.getElementById("map"), mapOptions);

var transitLayer = new google.maps.TransitLayer();
transitLayer.setMap(map);