diff --git a/dist/index.html b/dist/index.html
index 51eb28985..d8e13271d 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -107,6 +107,7 @@
Maps JSAPI Samples
layer-data-simple
layer-data-style
layer-traffic
+ layer-transit
legend
map-drawing-terradraw
map-events
diff --git a/dist/samples/layer-transit/app/.eslintsrc.json b/dist/samples/layer-transit/app/.eslintsrc.json
new file mode 100644
index 000000000..4c44dab04
--- /dev/null
+++ b/dist/samples/layer-transit/app/.eslintsrc.json
@@ -0,0 +1,13 @@
+{
+ "extends": [
+ "plugin:@typescript-eslint/recommended"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "rules": {
+ "@typescript-eslint/ban-ts-comment": 0,
+ "@typescript-eslint/no-this-alias": 1,
+ "@typescript-eslint/no-empty-function": 1,
+ "@typescript-eslint/explicit-module-boundary-types": 1,
+ "@typescript-eslint/no-unused-vars": 1
+ }
+}
diff --git a/dist/samples/layer-transit/app/README.md b/dist/samples/layer-transit/app/README.md
new file mode 100644
index 000000000..3477f4a0f
--- /dev/null
+++ b/dist/samples/layer-transit/app/README.md
@@ -0,0 +1,41 @@
+# Google Maps JavaScript Sample
+
+## layer-transit
+
+Transit layer sample.
+
+## Setup
+
+### Before starting run:
+
+`npm i`
+
+### Run an example on a local web server
+
+`cd samples/layer-transit`
+`npm start`
+
+### Build an individual example
+
+`cd samples/layer-transit`
+`npm run build`
+
+From 'samples':
+
+`npm run build --workspace=layer-transit/`
+
+### Build all of the examples.
+
+From 'samples':
+
+`npm run build-all`
+
+### Run lint to check for problems
+
+`cd samples/layer-transit`
+`npx eslint index.ts`
+
+## Feedback
+
+For feedback related to this sample, please open a new issue on
+[GitHub](https://github.com/googlemaps-samples/js-api-samples/issues).
diff --git a/dist/samples/layer-transit/app/index.html b/dist/samples/layer-transit/app/index.html
new file mode 100644
index 000000000..e742759f3
--- /dev/null
+++ b/dist/samples/layer-transit/app/index.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+ Transit Layer
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/layer-transit/app/index.ts b/dist/samples/layer-transit/app/index.ts
new file mode 100644
index 000000000..d60798926
--- /dev/null
+++ b/dist/samples/layer-transit/app/index.ts
@@ -0,0 +1,21 @@
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+// [START maps_layer_transit]
+async function init(): Promise {
+ const { TransitLayer } = await google.maps.importLibrary('maps');
+
+ const mapElement =
+ document.querySelector('gmp-map')!;
+ const innerMap = mapElement.innerMap;
+
+ const transitLayer = new TransitLayer();
+
+ transitLayer.setMap(innerMap);
+}
+
+void init();
+// [END maps_layer_transit]
diff --git a/dist/samples/layer-transit/app/package.json b/dist/samples/layer-transit/app/package.json
new file mode 100644
index 000000000..88adb356d
--- /dev/null
+++ b/dist/samples/layer-transit/app/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "@js-api-samples/layer-transit",
+ "version": "1.0.0",
+ "scripts": {
+ "build": "bash ../build-single.sh",
+ "test": "tsc && npm run build:vite --workspace=.",
+ "start": "tsc && vite build --config ../../vite.config.js --base './' && vite --config ../../vite.config.js",
+ "build:vite": "vite build --config ../../vite.config.js --base './'",
+ "preview": "vite preview --config ../../vite.config.js"
+ },
+ "author": "Google LLC"
+}
diff --git a/dist/samples/layer-transit/app/style.css b/dist/samples/layer-transit/app/style.css
new file mode 100644
index 000000000..084bf1689
--- /dev/null
+++ b/dist/samples/layer-transit/app/style.css
@@ -0,0 +1,22 @@
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+/* [START maps_layer_transit] */
+
+/*
+ * Optional: Makes the sample page fill the window.
+ */
+html,
+body {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+gmp-map {
+ height: 100%;
+}
+
+/* [END maps_layer_transit] */
diff --git a/dist/samples/layer-transit/app/tsconfig.json b/dist/samples/layer-transit/app/tsconfig.json
new file mode 100644
index 000000000..976bcc6ef
--- /dev/null
+++ b/dist/samples/layer-transit/app/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "rootDir": "."
+ },
+ "include": ["./*.ts"]
+}
diff --git a/dist/samples/layer-transit/dist/assets/index-BSZS2SkB.css b/dist/samples/layer-transit/dist/assets/index-BSZS2SkB.css
new file mode 100644
index 000000000..e6841f5d1
--- /dev/null
+++ b/dist/samples/layer-transit/dist/assets/index-BSZS2SkB.css
@@ -0,0 +1 @@
+html,body{height:100%;margin:0;padding:0}gmp-map{height:100%}
diff --git a/dist/samples/layer-transit/dist/assets/index-Co6i5kKJ.js b/dist/samples/layer-transit/dist/assets/index-Co6i5kKJ.js
new file mode 100644
index 000000000..108842614
--- /dev/null
+++ b/dist/samples/layer-transit/dist/assets/index-Co6i5kKJ.js
@@ -0,0 +1 @@
+(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();async function e(){let{TransitLayer:e}=await google.maps.importLibrary(`maps`),t=document.querySelector(`gmp-map`).innerMap;new e().setMap(t)}e();
\ No newline at end of file
diff --git a/dist/samples/layer-transit/dist/index.html b/dist/samples/layer-transit/dist/index.html
new file mode 100644
index 000000000..11b0b4d48
--- /dev/null
+++ b/dist/samples/layer-transit/dist/index.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+ Transit Layer
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/layer-transit/docs/index.html b/dist/samples/layer-transit/docs/index.html
new file mode 100644
index 000000000..e742759f3
--- /dev/null
+++ b/dist/samples/layer-transit/docs/index.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+ Transit Layer
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/layer-transit/docs/index.js b/dist/samples/layer-transit/docs/index.js
new file mode 100644
index 000000000..0c9ea365f
--- /dev/null
+++ b/dist/samples/layer-transit/docs/index.js
@@ -0,0 +1,21 @@
+'use strict';
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+// [START maps_layer_transit]
+async function init() {
+ const { TransitLayer } = await google.maps.importLibrary('maps');
+
+ const mapElement = document.querySelector('gmp-map');
+ const innerMap = mapElement.innerMap;
+
+ const transitLayer = new TransitLayer();
+
+ transitLayer.setMap(innerMap);
+}
+
+void init();
+// [END maps_layer_transit]
diff --git a/dist/samples/layer-transit/docs/index.ts b/dist/samples/layer-transit/docs/index.ts
new file mode 100644
index 000000000..d60798926
--- /dev/null
+++ b/dist/samples/layer-transit/docs/index.ts
@@ -0,0 +1,21 @@
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+// [START maps_layer_transit]
+async function init(): Promise {
+ const { TransitLayer } = await google.maps.importLibrary('maps');
+
+ const mapElement =
+ document.querySelector('gmp-map')!;
+ const innerMap = mapElement.innerMap;
+
+ const transitLayer = new TransitLayer();
+
+ transitLayer.setMap(innerMap);
+}
+
+void init();
+// [END maps_layer_transit]
diff --git a/dist/samples/layer-transit/docs/style.css b/dist/samples/layer-transit/docs/style.css
new file mode 100644
index 000000000..084bf1689
--- /dev/null
+++ b/dist/samples/layer-transit/docs/style.css
@@ -0,0 +1,22 @@
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+/* [START maps_layer_transit] */
+
+/*
+ * Optional: Makes the sample page fill the window.
+ */
+html,
+body {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+gmp-map {
+ height: 100%;
+}
+
+/* [END maps_layer_transit] */
diff --git a/dist/samples/layer-transit/jsfiddle/demo.css b/dist/samples/layer-transit/jsfiddle/demo.css
new file mode 100644
index 000000000..6ffc19a96
--- /dev/null
+++ b/dist/samples/layer-transit/jsfiddle/demo.css
@@ -0,0 +1,19 @@
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/*
+ * Optional: Makes the sample page fill the window.
+ */
+html,
+body {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+gmp-map {
+ height: 100%;
+}
diff --git a/dist/samples/layer-transit/jsfiddle/demo.details b/dist/samples/layer-transit/jsfiddle/demo.details
new file mode 100644
index 000000000..a60d1007c
--- /dev/null
+++ b/dist/samples/layer-transit/jsfiddle/demo.details
@@ -0,0 +1,7 @@
+name: layer-transit
+authors:
+ - Geo Developer IX Documentation Team
+tags:
+ - google maps
+load_type: h
+description: Sample code supporting Google Maps Platform JavaScript API documentation.
diff --git a/dist/samples/layer-transit/jsfiddle/demo.html b/dist/samples/layer-transit/jsfiddle/demo.html
new file mode 100644
index 000000000..420d5e3fb
--- /dev/null
+++ b/dist/samples/layer-transit/jsfiddle/demo.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Transit Layer
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/layer-transit/jsfiddle/demo.js b/dist/samples/layer-transit/jsfiddle/demo.js
new file mode 100644
index 000000000..91188d565
--- /dev/null
+++ b/dist/samples/layer-transit/jsfiddle/demo.js
@@ -0,0 +1,19 @@
+'use strict';
+/**
+ * @license
+ * Copyright 2026 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+async function init() {
+ const { TransitLayer } = await google.maps.importLibrary('maps');
+
+ const mapElement = document.querySelector('gmp-map');
+ const innerMap = mapElement.innerMap;
+
+ const transitLayer = new TransitLayer();
+
+ transitLayer.setMap(innerMap);
+}
+
+void init();
diff --git a/index.html b/index.html
index 51eb28985..d8e13271d 100644
--- a/index.html
+++ b/index.html
@@ -107,6 +107,7 @@ Maps JSAPI Samples
layer-data-simple
layer-data-style
layer-traffic
+ layer-transit
legend
map-drawing-terradraw
map-events