diff --git a/samples/dds-datasets-polyline/README.md b/samples/dds-datasets-polyline/README.md new file mode 100644 index 00000000..d055c4d4 --- /dev/null +++ b/samples/dds-datasets-polyline/README.md @@ -0,0 +1,41 @@ +# Google Maps JavaScript Sample + +## dds-datasets-polyline + +This example shows an approach to styling polyline geometry based data features. + +## Setup + +### Before starting run: + +`npm i` + +### Run an example on a local web server + +`cd samples/dds-datasets-polyline` +`npm start` + +### Build an individual example + +`cd samples/dds-datasets-polyline` +`npm run build` + +From 'samples': + +`npm run build --workspace=dds-datasets-polyline/` + +### Build all of the examples. + +From 'samples': + +`npm run build-all` + +### Run lint to check for problems + +`cd samples/dds-datasets-polyline` +`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/samples/dds-datasets-polyline/index.html b/samples/dds-datasets-polyline/index.html new file mode 100644 index 00000000..5ada0187 --- /dev/null +++ b/samples/dds-datasets-polyline/index.html @@ -0,0 +1,30 @@ + + + + + + Style a polyline data feature + + + + + + + + +
+ Data source: NYC Open Data +
+
+ + + diff --git a/samples/dds-datasets-polyline/index.ts b/samples/dds-datasets-polyline/index.ts new file mode 100644 index 00000000..02c66421 --- /dev/null +++ b/samples/dds-datasets-polyline/index.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2026 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +// [START maps_dds_datasets_polyline] +const mapElement = document.querySelector('gmp-map') as google.maps.MapElement; +let innerMap; +async function initMap() { + // Request needed libraries. + (await google.maps.importLibrary('maps')) as google.maps.MapsLibrary; + + // Get the inner map. + innerMap = mapElement.innerMap; + + // Dataset ID for Seattle Bridges + const datasetId = '2438ee30-5366-4e84-82b7-a0d4dd1893fa'; + const datasetLayer = innerMap.getDatasetFeatureLayer(datasetId); + + // [START maps_dds_datasets_polyline_style_function] + // Apply style to all features. + datasetLayer.style = { strokeColor: 'green', strokeWeight: 4 }; + // [END maps_dds_datasets_polyline_style_function] +} + +initMap(); +// [END maps_dds_datasets_polyline] diff --git a/samples/dds-datasets-polyline/package.json b/samples/dds-datasets-polyline/package.json new file mode 100644 index 00000000..236492b8 --- /dev/null +++ b/samples/dds-datasets-polyline/package.json @@ -0,0 +1,14 @@ +{ + "name": "@js-api-samples/dds-datasets-polyline", + "version": "1.0.0", + "scripts": { + "build": "tsc && bash ../jsfiddle.sh dds-datasets-polyline && bash ../app.sh dds-datasets-polyline && bash ../docs.sh dds-datasets-polyline && npm run build:vite --workspace=. && bash ../dist.sh dds-datasets-polyline", + "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/dds-datasets-polyline/style.css b/samples/dds-datasets-polyline/style.css new file mode 100644 index 00000000..3d155c80 --- /dev/null +++ b/samples/dds-datasets-polyline/style.css @@ -0,0 +1,26 @@ +/** + * @license + * Copyright 2026 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +/* [START maps_dds_datasets_polyline] */ + +/* + * Optional: Makes the sample page fill the window. + */ +html, +body { + height: 100%; + margin: 0; + padding: 0; +} + +#attribution { + background-color: rgba(255, 255, 255, 0.7); + font-family: "Roboto", "Arial", "sans-serif"; + font-size: 10px; + padding: 2px; + margin: 2px; +} + +/* [END maps_dds_datasets_polyline] */ \ No newline at end of file diff --git a/samples/dds-datasets-polyline/tsconfig.json b/samples/dds-datasets-polyline/tsconfig.json new file mode 100644 index 00000000..366aabb0 --- /dev/null +++ b/samples/dds-datasets-polyline/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" + } +}