Наземные наложения

Выберите платформу: Android iOS JavaScript
  1. Введение
  2. Добавьте наложение земли
  3. Удаление наложения земли

Введение

Наложения — это объекты на карте, которые привязаны к координатам широты и долготы, поэтому они перемещаются при перетаскивании или масштабировании карты. Если вы хотите разместить изображение на карте, вы можете использовать объект 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);
}

Посмотреть пример