Contrôler la carte et la caméra

Il peut être souhaitable de contrôler le panoramique de la caméra, l'altitude maximale, ou de créer des limites de latitude et de longitude qui limitent les déplacements d'un utilisateur sur une carte donnée. Pour ce faire, utilisez les restrictions de caméra.

L'exemple suivant montre une carte avec des limites de lieu définies pour limiter le mouvement de la caméra:

Limiter les limites de la carte

Vous pouvez limiter les limites géographiques de la caméra en définissant l'option bounds.

L'exemple de code suivant montre comment restreindre les limites de la carte:

async function init() {
  const { Map3DElement, MapMode } = await google.maps.importLibrary("maps3d");

  const map = new Map3DElement({
    center: { lat: 37.7704, lng: -122.3985, altitude: 500 },
    tilt: 67.5,
    mode: MapMode.HYBRID,
    bounds: {south: 37, west: -123, north: 38, east: -121}
  });

init();
}

Limiter l'accès à la caméra

Vous pouvez limiter le mouvement de la caméra en définissant l'une des options suivantes:

  • maxAltitude
  • minAltitude
  • maxHeading
  • minHeading
  • maxTilt
  • minTilt

L'exemple de code suivant illustre la restriction de l'appareil photo:

async function init() {
  const { Map3DElement, MapMode } = await google.maps.importLibrary("maps3d");

  const map = new Map3DElement({
    center: { lat: 37.7704, lng: -122.3985, altitude: 500 },
    tilt: 67.5,
    mode: MapMode.HYBRID,
    minAltitude: 1,
    maxAltitude: 1000,
    minTilt: 35,
    maxTilt: 55
  });

 document.body.append(map);
}

init();

Limiter les limites de la carte et de la caméra

Vous pouvez restreindre simultanément les limites de la carte et de la caméra. L'exemple de code suivant montre comment restreindre les limites de la carte et de la caméra:

async function init() {
  const { Map3DElement, MapMode } = await google.maps.importLibrary("maps3d");

  const map = new Map3DElement({
    center: { lat: 37.7704, lng: -122.3985, altitude: 500 },
    tilt: 67.5,
    mode: MapMode.HYBRID,
    minAltitude: 1,
    maxAltitude: 1000,
    minTilt: 35,
    maxTilt: 55,
    bounds: {south: 37, west: -123, north: 38, east: -121}
  });

 document.body.append(map);
}

init();