diff --git a/package-lock.json b/package-lock.json index 2b3cbfc6..e10b2470 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1142,6 +1142,10 @@ "resolved": "samples/deckgl-kml-updated", "link": true }, + "node_modules/@js-api-samples/deckgl-points": { + "resolved": "samples/deckgl-points", + "link": true + }, "node_modules/@js-api-samples/deckgl-polygon": { "resolved": "samples/deckgl-polygon", "link": true @@ -8328,6 +8332,791 @@ "apache-arrow": "^21.1.0" } }, + "samples/deckgl-points": { + "name": "@js-api-samples/deckgl-points", + "version": "1.0.0", + "dependencies": { + "@deck.gl/core": "^8.9.0", + "@deck.gl/google-maps": "^8.9.0", + "@deck.gl/layers": "^8.9.0", + "deck.gl": "^8.9.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/aggregation-layers": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/aggregation-layers/-/aggregation-layers-8.9.36.tgz", + "integrity": "sha512-EwUJ1bwhhAG6LF9hAdZDaIAwIFDUGC8XpQgHmitTLohciVrIp70p9zpgHNNU6oPy+iQvccmWctLcSC9TpgjsIg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@luma.gl/constants": "^8.5.21", + "@luma.gl/shadertools": "^8.5.21", + "@math.gl/web-mercator": "^3.6.2", + "d3-hexbin": "^0.2.1" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@deck.gl/layers": "^8.0.0", + "@luma.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/carto": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/carto/-/carto-8.9.36.tgz", + "integrity": "sha512-lm05nWciAX6SikbjETgPexnjDA1KoyDadi5VOk3RazYUUMw55s6Qc84qKSyXK263Rg58eOGl4K4pyCPRdphFog==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@loaders.gl/gis": "^3.4.13", + "@loaders.gl/loader-utils": "^3.4.13", + "@loaders.gl/mvt": "^3.4.13", + "@loaders.gl/tiles": "^3.4.13", + "@luma.gl/constants": "^8.5.21", + "@math.gl/web-mercator": "^3.6.2", + "cartocolor": "^4.0.2", + "d3-array": "^3.2.0", + "d3-color": "^3.1.0", + "d3-format": "^3.1.0", + "d3-scale": "^4.0.0", + "h3-js": "^3.7.0", + "moment-timezone": "^0.5.33", + "pbf": "^3.2.1", + "quadbin": "^0.1.9" + }, + "peerDependencies": { + "@deck.gl/aggregation-layers": "^8.0.0", + "@deck.gl/core": "^8.0.0", + "@deck.gl/extensions": "^8.0.0", + "@deck.gl/geo-layers": "^8.0.0", + "@deck.gl/layers": "^8.0.0", + "@loaders.gl/core": "^3.4.13" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/core": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/core/-/core-8.9.36.tgz", + "integrity": "sha512-mkIv4/fY1jE+iehqSJzUQi75l9cgfx2ZBa1s1AifgLu0TCkCZgRgISV3UnDBECDCmTZ9Cqk+oKq3OGay3Bz1RQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@loaders.gl/core": "^3.4.13", + "@loaders.gl/images": "^3.4.13", + "@luma.gl/constants": "^8.5.21", + "@luma.gl/core": "^8.5.21", + "@luma.gl/webgl": "^8.5.21", + "@math.gl/core": "^3.6.2", + "@math.gl/sun": "^3.6.2", + "@math.gl/web-mercator": "^3.6.2", + "@probe.gl/env": "^3.5.0", + "@probe.gl/log": "^3.5.0", + "@probe.gl/stats": "^3.5.0", + "gl-matrix": "^3.0.0", + "math.gl": "^3.6.2", + "mjolnir.js": "^2.7.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/extensions": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/extensions/-/extensions-8.9.36.tgz", + "integrity": "sha512-BoHjJOK9Ue/zH+YkXiFli7ebS+I21fyL4YeCUzw2a6OOo36SZV/4S0gZSSkaaltO72aZsDsvduWPAbmXY2slqA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@luma.gl/shadertools": "^8.5.21" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@luma.gl/constants": "^8.0.0", + "@luma.gl/core": "^8.0.0", + "@math.gl/core": "^3.6.2", + "@math.gl/web-mercator": "^3.6.2", + "gl-matrix": "^3.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/geo-layers": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/geo-layers/-/geo-layers-8.9.36.tgz", + "integrity": "sha512-OmJhbRpNK2MPVfEWqWR45Q1e8Sz90fGuFOkcl8Ecl6HZJV7IWcAlnybtaAeJNWO2OohN2TI53UdRKUNGFYS4AQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@loaders.gl/3d-tiles": "^3.4.13", + "@loaders.gl/gis": "^3.4.13", + "@loaders.gl/loader-utils": "^3.4.13", + "@loaders.gl/mvt": "^3.4.13", + "@loaders.gl/schema": "^3.4.13", + "@loaders.gl/terrain": "^3.4.13", + "@loaders.gl/tiles": "^3.4.13", + "@loaders.gl/wms": "^3.4.13", + "@luma.gl/constants": "^8.5.21", + "@luma.gl/experimental": "^8.5.21", + "@math.gl/core": "^3.6.2", + "@math.gl/culling": "^3.6.2", + "@math.gl/web-mercator": "^3.6.2", + "@types/geojson": "^7946.0.8", + "h3-js": "^3.7.0", + "long": "^3.2.0" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@deck.gl/extensions": "^8.0.0", + "@deck.gl/layers": "^8.0.0", + "@deck.gl/mesh-layers": "^8.0.0", + "@loaders.gl/core": "^3.4.13", + "@luma.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/google-maps": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/google-maps/-/google-maps-8.9.36.tgz", + "integrity": "sha512-/qqQY3J3eNWO5Yw3Lt0uLLmc+r28xbMrNwNR0rMVwbLzKWlMfWjxMV+MgcO6hW/wWeB0v/mxEjykuW4YO2MvPA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@luma.gl/constants": "^8.5.0", + "@luma.gl/core": "^8.5.0", + "@math.gl/core": "^3.6.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/json": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/json/-/json-8.9.36.tgz", + "integrity": "sha512-DTZBD5TgvJxgUO5vk7wT2gHMt2uw1A/51f7K/tzBbJyACue8kLwFMNm/VXWojrxjAZZslETdT0Et+U4jN+jFBQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "d3-dsv": "^1.0.8", + "expression-eval": "^2.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/layers": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/layers/-/layers-8.9.36.tgz", + "integrity": "sha512-sr/QKELXZ4W0ZHb12QC2+EV1bZJOM6cU6kAfOJD5jOVixOcyccr+FnPPGn39VK9cl/VFY0S339ZPs9reyhDFVg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@loaders.gl/images": "^3.4.13", + "@loaders.gl/schema": "^3.4.13", + "@luma.gl/constants": "^8.5.21", + "@mapbox/tiny-sdf": "^2.0.5", + "@math.gl/core": "^3.6.2", + "@math.gl/polygon": "^3.6.2", + "@math.gl/web-mercator": "^3.6.2", + "earcut": "^2.2.4" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@loaders.gl/core": "^3.4.13", + "@luma.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/mapbox": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/mapbox/-/mapbox-8.9.36.tgz", + "integrity": "sha512-JUMkxHsaV5/FhKx68cp87vcHTdYTqS1fWpytN7I1B0p1gxhd37iYNU/FtEg3Pxs5ce9zLkjVepF6PALVWnDlGw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@types/mapbox-gl": "^2.6.3" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/mesh-layers": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/mesh-layers/-/mesh-layers-8.9.36.tgz", + "integrity": "sha512-xQ+OSdU3z3HIgaHJfxbcNIxmWYPUBMJZAM+fAbynojGVzGYLJo2MUjUJLtCsw0Ejs3YtnocyuFRM+zObB0I3jw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@loaders.gl/gltf": "^3.4.13", + "@luma.gl/constants": "^8.5.21", + "@luma.gl/experimental": "^8.5.21", + "@luma.gl/shadertools": "^8.5.21" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@luma.gl/core": "^8.0.0" + } + }, + "samples/deckgl-points/node_modules/@deck.gl/react": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/@deck.gl/react/-/react-8.9.36.tgz", + "integrity": "sha512-/WIvHK0aJwppLnpA6GZrOhfanx5WVWihx/o6U88kX53VsyJQMZU10+EXKc1FkI3nd5/jsLbLc8fC0dUtiXiSVw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0" + }, + "peerDependencies": { + "@deck.gl/core": "^8.0.0", + "@types/react": ">= 16.3", + "react": ">=16.3", + "react-dom": ">=16.3" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/3d-tiles": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/3d-tiles/-/3d-tiles-3.4.15.tgz", + "integrity": "sha512-JR67bEfLrD7Lzb6pWyEIRg2L6W3n6y43DKcWofRLpwPqLA7qHuY7SlO7E72Lz7Tniye8VhawqY1wO8gCx8T72Q==", + "license": "MIT", + "dependencies": { + "@loaders.gl/draco": "3.4.15", + "@loaders.gl/gltf": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/math": "3.4.15", + "@loaders.gl/tiles": "3.4.15", + "@math.gl/core": "^3.5.1", + "@math.gl/geospatial": "^3.5.1", + "long": "^5.2.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/3d-tiles/node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "samples/deckgl-points/node_modules/@loaders.gl/core": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-3.4.15.tgz", + "integrity": "sha512-rPOOTuusWlRRNMWg7hymZBoFmPCXWThsA5ZYRfqqXnsgVeQIi8hzcAhJ7zDUIFAd/OSR8ravtqb0SH+3k6MOFQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/worker-utils": "3.4.15", + "@probe.gl/log": "^3.5.0" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/draco": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/draco/-/draco-3.4.15.tgz", + "integrity": "sha512-SStmyP0ZnS4JbWZb2NhrfiHW65uy3pVTTzQDTgXfkR5cD9oDAEu4nCaHbQ8x38/m39FHliCPgS9b1xWvLKQo8w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@loaders.gl/worker-utils": "3.4.15", + "draco3d": "1.5.5" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/gis": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/gis/-/gis-3.4.15.tgz", + "integrity": "sha512-h+LJI35P6ze8DFPSUylTKuml0l4HIfHMczML6u+ZXG6E2w5tbdM3Eh5AzHjXGQPuwUnaYPn3Mq/2t2N1rz98pg==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@mapbox/vector-tile": "^1.3.1", + "@math.gl/polygon": "^3.5.1", + "pbf": "^3.2.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/gltf": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/gltf/-/gltf-3.4.15.tgz", + "integrity": "sha512-Y6kMNPLiHQPr6aWQw/4BMTxgPHWx3fcib4LPpZCbhyfM8PRn6pOqATVngUXdoOf5XY0QtdKVld6N1kxlr4pJtw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/draco": "3.4.15", + "@loaders.gl/images": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/textures": "3.4.15", + "@math.gl/core": "^3.5.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/images": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/images/-/images-3.4.15.tgz", + "integrity": "sha512-QpjYhEetHabY/z9mWZYJXZZp4XJAxa38f9Ii/DjPlnJErepzY5GLBUTDHMu4oZ6n99gGImtuGFicDnFV6mb60g==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "3.4.15" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/loader-utils": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/loader-utils/-/loader-utils-3.4.15.tgz", + "integrity": "sha512-uUx6tCaky6QgCRkqCNuuXiUfpTzKV+ZlJOf6C9bKp62lpvFOv9AwqoXmL23j8nfsENdlzsX3vPhc3en6QQyksA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/worker-utils": "3.4.15", + "@probe.gl/stats": "^3.5.0" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/math": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/math/-/math-3.4.15.tgz", + "integrity": "sha512-zTN8BUU/1fcppyVc8WzvdZcCyNGVYmNinxcn/A+a7mi1ug4OBGwEsZOj09Wjg0/s52c/cAL3h9ylPIZdjntscQ==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@math.gl/core": "^3.5.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/mvt": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/mvt/-/mvt-3.4.15.tgz", + "integrity": "sha512-Q8e1ZyfNkJtPF/C4WSZ2qhWDEbzOvquP7OyG1NzQ2cp8R6eUfbexu48IgcnL/oAu8VPql3zIxQ+bQUyDReyN5g==", + "license": "MIT", + "dependencies": { + "@loaders.gl/gis": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@math.gl/polygon": "^3.5.1", + "pbf": "^3.2.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/schema": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/schema/-/schema-3.4.15.tgz", + "integrity": "sha512-8oRtstz0IsqES7eZd2jQbmCnmExCMtL8T6jWd1+BfmnuyZnQ0B6TNccy++NHtffHdYuzEoQgSELwcdmhSApYew==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.7" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/terrain": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/terrain/-/terrain-3.4.15.tgz", + "integrity": "sha512-ouv41J84uOnLEtXLM+iPEPFfeq7aRgIOls6esdvhBx2/dXJRNkt8Mx0wShXAi8VNHz77D+gZFrKARa7wqjmftg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/images": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@mapbox/martini": "^0.2.0" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/textures": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/textures/-/textures-3.4.15.tgz", + "integrity": "sha512-QHnmxBYtLvTdG1uMz2KWcxVY8KPb1+XyPJUoZV9GMcQkulz+CwFB8BaX8nROfMDz9KKYoPfksCzjig0LZ0WBJQ==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@loaders.gl/worker-utils": "3.4.15", + "ktx-parse": "^0.0.4", + "texture-compressor": "^1.0.2" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/tiles": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/tiles/-/tiles-3.4.15.tgz", + "integrity": "sha512-o85aRSXq+YeVSK2ndW9aBwTMi5FhEsQ7k18J4DG+T5Oc+zz3tKui5X1SuBDiKbQN+kYtFpj0oYO1QG3ndNI6jg==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/math": "3.4.15", + "@math.gl/core": "^3.5.1", + "@math.gl/culling": "^3.5.1", + "@math.gl/geospatial": "^3.5.1", + "@math.gl/web-mercator": "^3.5.1", + "@probe.gl/stats": "^3.5.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/wms": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/wms/-/wms-3.4.15.tgz", + "integrity": "sha512-zY++Oxx+cNGF9ptuSTFxCmEnpRbR5VZYjvyLraylaRbuynZv+JiWrehymFzEfq3hJcQ/cGvIjaG6rSVtPuqCIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/images": "3.4.15", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "@loaders.gl/xml": "3.4.15", + "@turf/rewind": "^5.1.5", + "deep-strict-equal": "^0.2.0", + "lerc": "^4.0.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/worker-utils": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/worker-utils/-/worker-utils-3.4.15.tgz", + "integrity": "sha512-zUUepOYRYmcYIcr/c4Mchox9h5fBFNkD81rsGnLlZyq19QvyHzN+93SVxrLc078gw93t2RKrVcOOZY13zT3t1w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1" + } + }, + "samples/deckgl-points/node_modules/@loaders.gl/xml": { + "version": "3.4.15", + "resolved": "https://registry.npmjs.org/@loaders.gl/xml/-/xml-3.4.15.tgz", + "integrity": "sha512-iMWHaDzYSe8JoS8W5k9IbxQ6S3VHPr7M+UBejIVeYGCp1jzWF0ri498olwJWWDRvg4kqAWolrkj8Pcgkg8Jf8A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "@loaders.gl/loader-utils": "3.4.15", + "@loaders.gl/schema": "3.4.15", + "fast-xml-parser": "^4.2.5" + } + }, + "samples/deckgl-points/node_modules/@luma.gl/constants": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/constants/-/constants-8.5.21.tgz", + "integrity": "sha512-aJxayGxTT+IRd1vfpcgD/cKSCiVJjBNiuiChS96VulrmCvkzUOLvYXr42y5qKB4RyR7vOIda5uQprNzoHrhQAA==", + "license": "MIT" + }, + "samples/deckgl-points/node_modules/@luma.gl/core": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/core/-/core-8.5.21.tgz", + "integrity": "sha512-11jQJQEMoR/IN2oIsd4zFxiQJk6FE+xgVIMUcsCTBuzafTtQZ8Po9df8mt+MVewpDyBlTVs6g8nxHRH4np1ukA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@luma.gl/constants": "8.5.21", + "@luma.gl/engine": "8.5.21", + "@luma.gl/gltools": "8.5.21", + "@luma.gl/shadertools": "8.5.21", + "@luma.gl/webgl": "8.5.21" + } + }, + "samples/deckgl-points/node_modules/@luma.gl/engine": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/engine/-/engine-8.5.21.tgz", + "integrity": "sha512-IG3WQSKXFNUEs8QG7ZjHtGiOtsakUu+BAxtJ6997A6/F06yynZ44tPe5NU70jG9Yfu3kV0LykPZg7hO3vXZDiA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@luma.gl/constants": "8.5.21", + "@luma.gl/gltools": "8.5.21", + "@luma.gl/shadertools": "8.5.21", + "@luma.gl/webgl": "8.5.21", + "@math.gl/core": "^3.5.0", + "@probe.gl/env": "^3.5.0", + "@probe.gl/stats": "^3.5.0", + "@types/offscreencanvas": "^2019.7.0" + } + }, + "samples/deckgl-points/node_modules/@luma.gl/experimental": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/experimental/-/experimental-8.5.21.tgz", + "integrity": "sha512-uFKPChGofyihOKxtqJy78QCQCDFnuMTK4QHrUX/qiTnvFSO8BgtTUevKvWGN9lBvq+uDD0lSieeF9yBzhQfAzw==", + "license": "MIT", + "dependencies": { + "@luma.gl/constants": "8.5.21", + "@math.gl/core": "^3.5.0", + "earcut": "^2.0.6" + }, + "peerDependencies": { + "@loaders.gl/gltf": "^3.0.0", + "@loaders.gl/images": "^3.0.0", + "@luma.gl/engine": "^8.4.0", + "@luma.gl/gltools": "^8.4.0", + "@luma.gl/shadertools": "^8.4.0", + "@luma.gl/webgl": "^8.4.0" + } + }, + "samples/deckgl-points/node_modules/@luma.gl/shadertools": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/shadertools/-/shadertools-8.5.21.tgz", + "integrity": "sha512-WQah7yFDJ8cNCLPYpIm3r0wSlXLvjoA279fcknmATvvkW3/i8PcCJ/nYEBJO3hHEwwMQxD16+YZu/uwGiifLMg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@math.gl/core": "^3.5.0" + } + }, + "samples/deckgl-points/node_modules/@luma.gl/webgl": { + "version": "8.5.21", + "resolved": "https://registry.npmjs.org/@luma.gl/webgl/-/webgl-8.5.21.tgz", + "integrity": "sha512-ZVLO4W5UuaOlzZIwmFWhnmZ1gYoU97a+heMqxLrSSmCUAsSu3ZETUex9gOmzdM1WWxcdWaa3M68rvKCNEgwz0Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@luma.gl/constants": "8.5.21", + "@luma.gl/gltools": "8.5.21", + "@probe.gl/env": "^3.5.0", + "@probe.gl/stats": "^3.5.0" + } + }, + "samples/deckgl-points/node_modules/@math.gl/core": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/core/-/core-3.6.3.tgz", + "integrity": "sha512-jBABmDkj5uuuE0dTDmwwss7Cup5ZwQ6Qb7h1pgvtkEutTrhkcv8SuItQNXmF45494yIHeoGue08NlyeY6wxq2A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@math.gl/types": "3.6.3", + "gl-matrix": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@math.gl/culling": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/culling/-/culling-3.6.3.tgz", + "integrity": "sha512-3UERXHbaPlM6pnTk2MI7LeQ5CoelDZzDzghTTcv+HdQCZsT/EOEuEdYimETHtSxiyiOmsX2Un65UBLYT/rbKZg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@math.gl/core": "3.6.3", + "gl-matrix": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@math.gl/geospatial": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/geospatial/-/geospatial-3.6.3.tgz", + "integrity": "sha512-6xf657lJnaecSarSzn02t0cnsCSkWb+39m4+im96v20dZTrLCWZ2glDQVzfuL91meDnDXjH4oyvynp12Mj5MFg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@math.gl/core": "3.6.3", + "gl-matrix": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@math.gl/polygon": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-3.6.3.tgz", + "integrity": "sha512-FivQ1ZnYcAss1wVifOkHP/ZnlfQy1IL/769uzNtiHxwUbW0kZG3yyOZ9I7fwyzR5Hvqt3ErJKHjSYZr0uVlz5g==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "3.6.3" + } + }, + "samples/deckgl-points/node_modules/@math.gl/sun": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/sun/-/sun-3.6.3.tgz", + "integrity": "sha512-mrx6CGYYeTNSQttvcw0KVUy+35YDmnjMqpO/o0t06Vcghrt0HNruB/ScRgUSbJrgkbOg1Vcqm23HBd++clzQzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0" + } + }, + "samples/deckgl-points/node_modules/@math.gl/types": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-3.6.3.tgz", + "integrity": "sha512-3uWLVXHY3jQxsXCr/UCNPSc2BG0hNUljhmOBt9l+lNFDp7zHgm0cK2Tw4kj2XfkJy4TgwZTBGwRDQgWEbLbdTA==", + "license": "MIT" + }, + "samples/deckgl-points/node_modules/@math.gl/web-mercator": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@math.gl/web-mercator/-/web-mercator-3.6.3.tgz", + "integrity": "sha512-UVrkSOs02YLehKaehrxhAejYMurehIHPfFQvPFZmdJHglHOU4V2cCUApTVEwOksvCp161ypEqVp+9H6mGhTTcw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "gl-matrix": "^3.4.0" + } + }, + "samples/deckgl-points/node_modules/@probe.gl/env": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-3.6.0.tgz", + "integrity": "sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0" + } + }, + "samples/deckgl-points/node_modules/@probe.gl/log": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-3.6.0.tgz", + "integrity": "sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@probe.gl/env": "3.6.0" + } + }, + "samples/deckgl-points/node_modules/@probe.gl/stats": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-3.6.0.tgz", + "integrity": "sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0" + } + }, + "samples/deckgl-points/node_modules/cartocolor": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cartocolor/-/cartocolor-4.0.2.tgz", + "integrity": "sha512-+Gh9mb6lFxsDOLQlBLPxAHCnWXlg2W8q3AcVwqRcy95TdBbcOU89Wrb6h2Hd/6Ww1Kc1pzXmUdpnWD+xeCG0dg==", + "dependencies": { + "colorbrewer": "1.0.0" + } + }, + "samples/deckgl-points/node_modules/colorbrewer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.0.0.tgz", + "integrity": "sha512-NZuIOVdErK/C6jDH3jWT/roxWJbJAinMiqEpbuWniKvQAoWdg6lGra3pPrSHvaIf8PlX8wLs/RAC6nULFJbgmg==", + "license": [ + { + "type": "Apache-Style", + "url": "https://github.com/saikocat/colorbrewer/blob/master/LICENSE.txt" + } + ] + }, + "samples/deckgl-points/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "samples/deckgl-points/node_modules/d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", + "license": "BSD-3-Clause", + "dependencies": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json", + "csv2tsv": "bin/dsv2dsv", + "dsv2dsv": "bin/dsv2dsv", + "dsv2json": "bin/dsv2json", + "json2csv": "bin/json2dsv", + "json2dsv": "bin/json2dsv", + "json2tsv": "bin/json2dsv", + "tsv2csv": "bin/dsv2dsv", + "tsv2json": "bin/dsv2json" + } + }, + "samples/deckgl-points/node_modules/deck.gl": { + "version": "8.9.36", + "resolved": "https://registry.npmjs.org/deck.gl/-/deck.gl-8.9.36.tgz", + "integrity": "sha512-2LzolV1oNL4f5Q73JvgjsCCzwEMBaJWo1gTT1OWUE2l/7wMuXSdFfYRI45ewH8YaB+vh90d1G8N7kfmSysKabA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@deck.gl/aggregation-layers": "8.9.36", + "@deck.gl/carto": "8.9.36", + "@deck.gl/core": "8.9.36", + "@deck.gl/extensions": "8.9.36", + "@deck.gl/geo-layers": "8.9.36", + "@deck.gl/google-maps": "8.9.36", + "@deck.gl/json": "8.9.36", + "@deck.gl/layers": "8.9.36", + "@deck.gl/mapbox": "8.9.36", + "@deck.gl/mesh-layers": "8.9.36", + "@deck.gl/react": "8.9.36" + } + }, + "samples/deckgl-points/node_modules/draco3d": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.5.tgz", + "integrity": "sha512-JVuNV0EJzD3LBYhGyIXJLeBID/EVtmFO1ZNhAYflTgiMiAJlbhXQmRRda/azjc8MRVMHh0gqGhiqHUo5dIXM8Q==", + "license": "Apache-2.0" + }, + "samples/deckgl-points/node_modules/fast-xml-parser": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.5.tgz", + "integrity": "sha512-cK9c5I/DwIOI7/Q7AlGN3DuTdwN61gwSfL8rvuVPK+0mcCNHHGxRrpiFtaZZRfRMJL3Gl8B2AFlBG6qXf03w9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "samples/deckgl-points/node_modules/h3-js": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/h3-js/-/h3-js-3.7.2.tgz", + "integrity": "sha512-LPjlHSwB9zQZrMqKloCZmmmt3yZzIK7nqPcXqwU93zT3TtYG6jP4tZBzAPouxut7lLjdFbMQ75wRBiKfpsnY7w==", + "license": "Apache-2.0", + "engines": { + "node": ">=4", + "npm": ">=3", + "yarn": ">=1.3.0" + } + }, + "samples/deckgl-points/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "samples/deckgl-points/node_modules/ktx-parse": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.0.4.tgz", + "integrity": "sha512-LY3nrmfXl+wZZdPxgJ3ZmLvG+wkOZZP3/dr4RbQj1Pk3Qwz44esOOSFFVQJcNWpXAtiNIC66WgXufX/SYgYz6A==", + "license": "MIT" + }, + "samples/deckgl-points/node_modules/mjolnir.js": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/mjolnir.js/-/mjolnir.js-2.7.3.tgz", + "integrity": "sha512-Z5z/+FzZqOSO3juSVKV3zcm4R2eAlWwlKMcqHmyFEJAaLILNcDKnIbnb4/kbcGyIuhtdWrzu8WOIR7uM6I34aw==", + "license": "MIT", + "dependencies": { + "@types/hammerjs": "^2.0.41", + "hammerjs": "^2.0.8" + }, + "engines": { + "node": ">= 4", + "npm": ">= 3" + } + }, + "samples/deckgl-points/node_modules/moment-timezone": { + "version": "0.5.48", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz", + "integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==", + "license": "MIT", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "samples/deckgl-points/node_modules/quadbin": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/quadbin/-/quadbin-0.1.9.tgz", + "integrity": "sha512-5V6m6+cL/6+uBl3hYL+CWF06rRvlHkIepYKGQjTLYaHhu9InPppql0+0ROiCaOQdz8gPNlgge3glk5Qg1mWOYw==", + "license": "MIT", + "dependencies": { + "@mapbox/tile-cover": "3.0.1" + }, + "engines": { + "node": ">=14" + } + }, + "samples/deckgl-points/node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "samples/deckgl-polygon": { "name": "@js-api-samples/deckgl-polygon", "version": "1.0.0" diff --git a/samples/deckgl-points/README.md b/samples/deckgl-points/README.md new file mode 100644 index 00000000..9c504369 --- /dev/null +++ b/samples/deckgl-points/README.md @@ -0,0 +1,41 @@ +# Google Maps JavaScript Sample + +## deckgl-points + +This example visualizes recent earthquakes using the deck.gl GeoJsonLayer and a ScatterPlot of earthquakes. + +## Setup + +### Before starting run: + +`npm i` + +### Run an example on a local web server + +`cd samples/deckgl-points` +`npm start` + +### Build an individual example + +`cd samples/deckgl-points` +`npm run build` + +From 'samples': + +`npm run build --workspace=deckgl-points/` + +### Build all of the examples. + +From 'samples': + +`npm run build-all` + +### Run lint to check for problems + +`cd samples/deckgl-points` +`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/deckgl-points/index.html b/samples/deckgl-points/index.html new file mode 100644 index 00000000..1f17e29b --- /dev/null +++ b/samples/deckgl-points/index.html @@ -0,0 +1,21 @@ + + + + + + defae05836df2dc8bbck.gl and Google Maps Platform + + + + + + + + + + diff --git a/samples/deckgl-points/index.ts b/samples/deckgl-points/index.ts new file mode 100644 index 00000000..6d3a130c --- /dev/null +++ b/samples/deckgl-points/index.ts @@ -0,0 +1,83 @@ +/** + * @license + * Copyright 2026 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +// [START maps_deckgl_points] +//import type * as GeoJSON from 'geojson'; +import { Feature } from 'geojson'; +import { GoogleMapsOverlay } from '@deck.gl/google-maps'; +import { GeoJsonLayer } from '@deck.gl/layers'; + +type Properties = { mag: number }; +//type Feature = GeoJSON.Feature; + +const mapElement = document.querySelector('gmp-map') as google.maps.MapElement; +let innerMap: google.maps.Map; + +interface EarthquakeProperties { + mag: number; + place: string; + time: number; +} + +/** + * Validates that a feature has the properties we need for rendering. + */ +function isEarthquake(f: Feature): f is Feature & { properties: EarthquakeProperties } { + return ( + f.properties !== null && + typeof f.properties === 'object' && + typeof (f.properties as any).mag === 'number' + ); +} + +// Initialize and add the map +async function initMap() { + // Request the needed libraries. + await google.maps.importLibrary('maps'); + + innerMap = await mapElement.innerMap; + + const deckOverlay = new GoogleMapsOverlay({ + layers: [ + new GeoJsonLayer({ + id: 'earthquakes', + data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson', + filled: true, + pointRadiusMinPixels: 2, + pointRadiusMaxPixels: 200, + opacity: 0.4, + pointRadiusScale: 0.3, + getPointRadius: (f: Feature): number => { + if (isEarthquake(f)) { + return Math.pow(10, f.properties.mag); + } + return 0; // Fallback for invalid data. + }, + getFillColor: (f: Feature): [number, number, number, number] => { + return [255, 70, 30, 180]; // Default color for other earthquakes. + }, + autoHighlight: true, + transitions: { + getPointRadius: { + type: 'spring', + stiffness: 0.1, + damping: 0.15, + enter: () => [0], // grow from size 0, + duration: 10000, + }, + }, + onDataLoad: () => { + console.log('Data is loaded.'); + }, + }), + ], + }); + + deckOverlay.setMap(innerMap); +} + +initMap(); +// [END maps_deckgl_points] diff --git a/samples/deckgl-points/package.json b/samples/deckgl-points/package.json new file mode 100644 index 00000000..18c47c9c --- /dev/null +++ b/samples/deckgl-points/package.json @@ -0,0 +1,17 @@ +{ + "name": "@js-api-samples/deckgl-points", + "version": "1.0.0", + "scripts": { + "build": "tsc && bash ../jsfiddle.sh deckgl-points && bash ../app.sh deckgl-points && bash ../docs.sh deckgl-points && npm run build:vite --workspace=. && bash ../dist.sh deckgl-points", + "test": "tsc && npm run build:vite --workspace=.", + "start": "tsc && vite build --base './' && vite", + "build:vite": "vite build --base './'", + "preview": "vite preview" + }, + "dependencies": { + "@deck.gl/core": "^8.9.0", + "@deck.gl/google-maps": "^8.9.0", + "@deck.gl/layers": "^8.9.0", + "deck.gl": "^8.9.0" + } +} diff --git a/samples/deckgl-points/style.css b/samples/deckgl-points/style.css new file mode 100644 index 00000000..76267c1b --- /dev/null +++ b/samples/deckgl-points/style.css @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2026 Google LLC. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +:root { + --mdc-theme-primary: #1a73e8; + --mdc-theme-secondary: #rgb(225, 245, 254); + --mdc-theme-on-primary: #fff; + --mdc-theme-on-secondary: rgb(1, 87, 155); +} + +.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label { + color: var(--mdc-theme-primary); +} + +/* [START maps_deckgl_points] */ +/* + * Optional: Makes the sample page fill the window. + */ +html, +body { + height: 100%; + margin: 0; + padding: 0; +} + +/* [END maps_deckgl_points] */ diff --git a/samples/deckgl-points/tsconfig.json b/samples/deckgl-points/tsconfig.json new file mode 100644 index 00000000..9b162683 --- /dev/null +++ b/samples/deckgl-points/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "esnext", + "target": "esnext", + "strict": true, + "skipLibCheck": true, + "noImplicitAny": false, + "lib": [ + "es2015", + "esnext", + "es6", + "dom", + "dom.iterable" + ], + "moduleResolution": "Node", + "jsx": "preserve" + } +}