diff --git a/my-blog/content/posts/2025-11-20-three-cloud.md b/my-blog/content/posts/2025-11-20-three-cloud.md index 63f60fd..aa2a9bc 100644 --- a/my-blog/content/posts/2025-11-20-three-cloud.md +++ b/my-blog/content/posts/2025-11-20-three-cloud.md @@ -365,3 +365,45 @@ export default function App() { } ``` +## google map api + +街を表示するには料金がかかります。 + +`gcp`で`Map Tiles API`だけ有効にすればよいです。 + +```sh:.env +VITE_GOOGLE_MAP_API_KEY=xxx +``` + +```js:src/App.jsx +import { + GLTFExtensionsPlugin, + GoogleCloudAuthPlugin, + TileCompressionPlugin, + TilesFadePlugin, + UpdateOnChangePlugin, +} from '3d-tiles-renderer/plugins'; + +const apiKey = import.meta.env.VITE_GOOGLE_MAP_API_KEY; +``` + +認証情報は、localhostで使用するものと、webで使用するものを分けて、それぞれ制限をつけましょう。 + +```md +[test-map] +localhost:4400 + +[production-map] +example.com +``` + +これでサイトにapi-keyが埋め込まれていても比較的安全です。また、gh-pagesではなく、`gh-actions + cf-pages`でdeployしたほうがいいかも。 + +### ハマったポイント + +vrmとの合せ技なので、太陽光を調整するのが難しく、影が大きくなりすぎてしまい見づらかいのでやめました。 + +```diff +- ++ +```