今作ろうとしている機能は
nodeでwebサイトからスクレイピング
→そこで得た情報から緯度と経度をファイルに書き込む
→そのファイルをhtmlで呼び出して地図表示
という機能なのですが、nodeの中だけで(htmlを使わずに)google map apiキーを使う方法がありましたら教えて頂きたいです
普通だとAPIキーは<script src=「APIキー」></script>と書くのですが、nodeだといかんせんhtmlを使うことができないための相談です
申し訳ないのですが、いかんせん初心者ですので、コードまで合わせて書いていただけますと幸いです
お忙しいところ恐れ入りますが
よろしくお願いいたします
以下のような質問にはグッドを送りましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 間違っている
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答1件
2
ベストアンサー
nodeの中で google map apiキーを使う方法
(APIのGoogleコンソール上での有効化やNodeの基本的なインストール等は完了しているという前提です)
プロジェクトの package に @googlemaps/google-maps-services-js をインストールして、
プロジェクトフォルダに適当に置いた index.js に下記を記述します。
( なお、Google の Geocoding APIのジオコーディングの結果は、API利用規約上、用途によっては利用が禁止されている場合があります。ジオコーディングの結果を大量にCSV出力して保存し、自分が作ったwebアプリで利用する等の使い方は、この禁止事項に引っ掛かる可能性があります。
参照:https://groups.google.com/g/Google-Maps-API-Japan/c/hAlBYFDnzso?pli=1
)
(下記はコンセプト例)
index.js
js
1const {Client} = require("@googlemaps/google-maps-services-js"); 2const client = new Client({}); 3 4client 5 .geocode({ 6 params: { 7 address: "東京都中央区1-1-1", 8 key: "APIキーを指定", 9 }, 10 timeout: 1000, // milliseconds 11 }) 12 .then((r) => { 13 console.log(r.data.results[0].geometry.location); 14 }) 15 .catch((e) => { 16 console.log(e.response.data.error_message); 17 });
実行
PS Z:\gmaptest> node index.js
出力結果例
{ lat: 35.6790837, lng: 139.783026 }
筆者の環境:
Node.js ver 14.15.3 ・ Windows 10・ VSCode 上のpowershell にて確認
参考:
Node.js Client for Google Maps Services
https://github.com/googlemaps/google-maps-services-js
Google Maps Platform - Geocoding Service
https://developers.google.com/maps/documentation/javascript/geocoding
投稿2022/11/12 22:32
編集2022/11/12 23:51総合スコア7910
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
回答へのコメント
関連した質問
Q&A
解決済
JavaScriptファイルの戻り値をブラウザ上に表示させたい。
回答1
クリップ0
更新
2023/02/03
Q&A
解決済
最速で配列からデータを取り出し、正規表現で検索したい。
回答3
クリップ1
更新
2023/01/31
Q&A
解決済
jsとgasによるdoPostとfetch間によるhtmlファイルの受け渡しについて
回答1
クリップ2
更新
2023/01/30
Q&A
解決済
reactでのweb開発で、ブラウザの日本語が文字化けする。
回答2
クリップ0
更新
2023/02/06
Q&A
解決済
PythonのSessionRequestへ渡すquery(json)のvalueの一部を変数で渡したいが実現できない
回答3
クリップ0
更新
2023/02/04
Q&A
解決済
chromeでレスポンスデータを確認したい
回答2
クリップ0
更新
2023/02/07
Q&A
解決済
axiosを用いたAPI呼び出しで"blocked by CORS policy"で呼び出し失敗
回答2
クリップ1
更新
2023/01/28
Q&A
解決済
webpackを使用したときにブラウザでUncaught ReferenceError: require is not definedのエラーが表示される
回答1
クリップ0
更新
2023/02/06
同じタグがついた質問を見る
Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。
Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。