diff --git a/samples/3d-camera-boundary/index.html b/samples/3d-camera-boundary/index.html
new file mode 100644
index 00000000..a0f63da3
--- /dev/null
+++ b/samples/3d-camera-boundary/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Map
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/3d-camera-boundary/index.ts b/samples/3d-camera-boundary/index.ts
new file mode 100644
index 00000000..bf867254
--- /dev/null
+++ b/samples/3d-camera-boundary/index.ts
@@ -0,0 +1,23 @@
+/*
+* @license
+* Copyright 2025 Google LLC. All Rights Reserved.
+* SPDX-License-Identifier: Apache-2.0
+*/
+
+// @ts-nocheck
+// [START maps_3d_camera_boundary]
+async function initMap() {
+ const { Map3DElement } = await google.maps.importLibrary("maps3d");
+
+ const map = new Map3DElement({
+ center: { lat: -36.86, lng: 174.76, altitude: 10000 },
+ tilt: 67.5,
+ mode: 'HYBRID',
+ bounds: {south: -48.30, west: 163.56, north: -32.86, east: -180};
+ });
+
+ document.body.append(map);
+}
+
+initMap();
+// [END maps_3d_camera_boundary]
diff --git a/samples/3d-camera-boundary/package.json b/samples/3d-camera-boundary/package.json
new file mode 100644
index 00000000..cd120479
--- /dev/null
+++ b/samples/3d-camera-boundary/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "@js-api-samples/3d-camera-boundary",
+ "version": "1.0.0",
+ "scripts": {
+ "build": "tsc && bash ../jsfiddle.sh 3d-camera-boundary && bash ../app.sh 3d-camera-boundary && bash ../docs.sh 3d-camera-boundary && npm run build:vite --workspace=. && bash ../dist.sh 3d-camera-boundary",
+ "test": "tsc && npm run build:vite --workspace=.",
+ "start": "tsc && vite build --base './' && vite",
+ "build:vite": "vite build --base './'",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+
+ }
+}
diff --git a/samples/3d-camera-boundary/style.css b/samples/3d-camera-boundary/style.css
new file mode 100644
index 00000000..33d3c467
--- /dev/null
+++ b/samples/3d-camera-boundary/style.css
@@ -0,0 +1,19 @@
+/*
+* @license
+* Copyright 2025 Google LLC. All Rights Reserved.
+* SPDX-License-Identifier: Apache-2.0
+*/
+/* [START maps_3d_camera_boundary] */
+/* * Always set the map height explicitly to define the size of the div element
+ * that contains the map.
+ */
+html,
+map {
+ height: 100%;
+}
+body {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+/* [END maps_3d_camera_boundary] */
diff --git a/samples/3d-camera-boundary/tsconfig.json b/samples/3d-camera-boundary/tsconfig.json
new file mode 100644
index 00000000..366aabb0
--- /dev/null
+++ b/samples/3d-camera-boundary/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "module": "esnext",
+ "target": "esnext",
+ "strict": true,
+ "noImplicitAny": false,
+ "lib": [
+ "es2015",
+ "esnext",
+ "es6",
+ "dom",
+ "dom.iterable"
+ ],
+ "moduleResolution": "Node",
+ "jsx": "preserve"
+ }
+}
diff --git a/samples/3d-places-autocomplete/index.html b/samples/3d-places-autocomplete/index.html
index 98b9d9e8..18c0c9ce 100644
--- a/samples/3d-places-autocomplete/index.html
+++ b/samples/3d-places-autocomplete/index.html
@@ -23,7 +23,7 @@
+ ({key: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8", v: "beta",});