Введение
Наложения представляют собой объекты на карте, привязанные к координатам широты и долготы, поэтому они перемещаются при перетаскивании карты или изменении масштаба. Для размещения изображения на карте можно воспользоваться объектом GroundOverlay
.
Подробную информацию о других типах наложений можно найти в статье Рисование на карте.
Как добавить наземное наложение
В качестве параметров конструктора для объекта GroundOverlay
указываются URL и объект LatLngBounds
изображения. Изображение будет выведено на карту в указанных границах с учетом проекции карты.
TypeScript
// This example uses a GroundOverlay to place an image on the map // showing an antique map of Newark, NJ. let historicalOverlay; function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 13, center: { lat: 40.74, lng: -74.18 }, } ); const imageBounds = { north: 40.773941, south: 40.712216, east: -74.12544, west: -74.22655, }; historicalOverlay = new google.maps.GroundOverlay( "https://storage.googleapis.com/geo-devrel-public-buckets/newark_nj_1922-661x516.jpeg", imageBounds ); historicalOverlay.setMap(map); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example uses a GroundOverlay to place an image on the map // showing an antique map of Newark, NJ. let historicalOverlay; function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 13, center: { lat: 40.74, lng: -74.18 }, }); const imageBounds = { north: 40.773941, south: 40.712216, east: -74.12544, west: -74.22655, }; historicalOverlay = new google.maps.GroundOverlay( "https://storage.googleapis.com/geo-devrel-public-buckets/newark_nj_1922-661x516.jpeg", imageBounds, ); historicalOverlay.setMap(map); } window.initMap = initMap;
Примеры кода
Как удалить наземное наложение
Чтобы удалить наложение с карты, вызовите его метод setMap()
, передав ему значение null
. Следует отметить, что при вызове этого метода само наложение не удаляется. Метод просто убирает наложение с карты. Если вместо этого вы хотите удалить наложение, то его следует убрать с карты, а затем присвоить самому наложению значение null
.
function removeOverlay() { historicalOverlay.setMap(null); }