Get a Maps Demo Key: Try out select Maps JavaScript API and Places UI Kit features at no cost with a Maps Demo Key—no billing information required.

Restrict camera view and bounds

Select platform: Android iOS JavaScript

It may be desirable for you to control the camera's pan, maximum altitude, or to create latitude and longitude boundaries restricting a user's movement in a given map. You can do this using camera restrictions.

The following example shows a map with location boundaries set to limit the camera's movement:

[フレーム]

Restrict map bounds

You can restrict the geographical boundaries of the camera by setting the bounds option.

The following code sample demonstrates restricting the map bounds:

TypeScript

asyncfunctioninit():Promise<void>{
awaitgoogle.maps.importLibrary('maps3d');
constmap3DElement=document.querySelector('gmp-map-3d')!;
// Restrict the position of the camera to the specified bounds.
map3DElement.bounds={
south:-48.3,
west:163.56,
north:-32.86,
east:-180,
};
}
voidinit();

JavaScript

asyncfunctioninit(){
awaitgoogle.maps.importLibrary('maps3d');
constmap3DElement=document.querySelector('gmp-map-3d');
// Restrict the position of the camera to the specified bounds.
map3DElement.bounds={
south:-48.3,
west:163.56,
north:-32.86,
east:-180,
};
}
voidinit();

CSS

html,
body{
height:100%;
margin:0;
padding:0;
}

HTML

<html>
 <head>
 <title>Map</title>
 <link rel="stylesheet" type="text/css" href="./style.css" />
 <script type="module" src="./index.js"></script>
 <script>
 // prettier-ignore
 (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
 key: "GOOGLE_MAPS_API_KEY"
 });
 </script>
 </head>
 <body>
 <gmp-map-3d
 id="gmp-map-3d"
 center="-47.1375,169.5235,150000"
 tilt="67.5"
 mode="hybrid"
 gesture-handling="cooperative">
 </gmp-map-3d>
 </body>
</html>

Restrict the camera

You can restrict the movement of the camera by setting any of the following options:

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

The following code sample demonstrates restricting the camera:

// Restrict the movement of the camera.
map3DElement.maxAltitude=1000;
map3DElement.minAltitude=500;
map3DElement.maxTilt=55;
map3DElement.minTilt=35;

Restrict map and camera bounds

You can simultaneously restrict both map and camera bounds. The following code sample demonstrates restricting both map and camera boundaries:

// Restrict the movement of the camera.
map3DElement.maxAltitude=1000;
map3DElement.minAltitude=500;
map3DElement.maxTilt=55;
map3DElement.minTilt=35;
// Restrict the position of the camera to the specified bounds.
map3DElement.bounds={
north:20.93,
west:-156.38,
south:20.90,
east:-156.31,
};

Control gesture handling

When a user scrolls a page containing a map, the scrolling action can inadvertently cause the map to zoom. You can control this behavior by setting the gestureHandling map option.

gestureHandling: cooperative

"Cooperative" gesture handling allows the user to scroll the page without impacting the map's zoom or pan. To zoom, users can use the controls, two-finger gestures (for touchscreen devices), or by holding CMD/CTRL while scrolling.

The following code demonstrates setting gesture handling to "cooperative":

<gmp-map-3d
 id="gmp-map-3d"
 center="20.92,-156.36,500"
 tilt="67.5"
 mode="hybrid"
 gesture-handling="cooperative">
</gmp-map-3d>

gestureHandling: greedy

"Greedy" gesture handling reacts to all scroll events and touch gestures.

gestureHandling: auto

"Auto" gesture handling changes the behavior of the map depending on whether or not the map is contained in an <iframe>, and whether the page is scrollable.

  • If the map is within an <iframe>, gesture handling will be "cooperative".
  • If the map isn't within an <iframe>, gesture handling will be "greedy".

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026年09月01日 UTC.