Введение
Наложения — это объекты на карте, которые привязаны к координатам широты и долготы, поэтому они перемещаются при перетаскивании или масштабировании карты. Если вы хотите разместить изображение на карте, вы можете использовать объект GroundOverlay
.
Информацию о других типах наложения см. в разделе Рисование на карте .
Добавьте наложение земли
Конструктор GroundOverlay
указывает URL-адрес изображения и LatLngBounds
изображения в качестве параметров. Изображение будет отображено на карте, ограничено заданными границами и согласовано с использованием проекции карты.
Машинопись
// 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); }