Слои — это объекты на карте, состоящие из одного или нескольких отдельных элементов, но управляемые как единое целое. Слои обычно отражают наборы объектов, которые вы добавляете поверх карты, чтобы обозначить общую связь. API JavaScript Карт управляет представлением объектов внутри слоев, визуализируя составляющие их элементы в один объект (обычно наложение плитки) и отображая их при изменении области просмотра карты. Слои также могут изменять слой представления самой карты, слегка изменяя базовые фрагменты в соответствии со слоем. Обратите внимание, что к большинству слоев по замыслу нельзя получить доступ через отдельные объекты, а манипулировать ими можно только как единое целое.
Обзор слоев
API JavaScript Карт имеет несколько типов слоев:
- Уровень данных Google Maps представляет собой контейнер для произвольных геопространственных данных. Вы можете использовать уровень данных для хранения своих пользовательских данных или для отображения данных GeoJSON на карте Google.
- Слой тепловой карты отображает географические данные с помощью визуализации тепловой карты .
- Слой KML преобразует элементы KML и GeoRSS в наложение плиток Maps JavaScript API.
- Слой «Трафик» отображает условия дорожного движения на карте.
- Слой Транзит отображает на карте сеть общественного транспорта вашего города.
- Объект слоя Bicycling преобразует слой велосипедных дорожек и/или наложений, специфичных для велосипедов, в общий слой. Этот слой возвращается по умолчанию в DirectionsRenderer при запросе направления движения в режиме BICYCLING .
Добавить слой
Чтобы добавить слой на карту, вам нужно всего лишь вызвать setMap()
, передав ему объект карты, на котором будет отображаться слой. Аналогично, чтобы скрыть слой, вызовите setMap()
, передав null
.
В приведенном ниже фрагменте карта центрируется на Лондоне, Великобритания, и добавляется слой «Транзит» .
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);