質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

HTMLではなくnode(JavaScript)の中だけでAPIキーを書く方法

Kuro_Rubbit
Kuro_Rubbit

総合スコア4

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1回答

0グッド

1クリップ

750閲覧

投稿2022/11/12 21:56

編集2022/11/12 21:57

今作ろうとしている機能は

nodeでwebサイトからスクレイピング
→そこで得た情報から緯度と経度をファイルに書き込む
→そのファイルをhtmlで呼び出して地図表示

という機能なのですが、nodeの中だけで(htmlを使わずに)google map apiキーを使う方法がありましたら教えて頂きたいです

普通だとAPIキーは<script src=「APIキー」></script>と書くのですが、nodeだといかんせんhtmlを使うことができないための相談です

申し訳ないのですが、いかんせん初心者ですので、コードまで合わせて書いていただけますと幸いです

お忙しいところ恐れ入りますが
よろしくお願いいたします

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

maisumakun

2022/11/12 22:22

なぜそうしたいのですか?
Kuro_Rubbit

2022/11/12 22:26

距離を割り出して、それが該当するなら表示、そうでは無い場合は非表示 という機能にしたいのですが、 いかんせん10万件という膨大な場所から割り出したいため、 nodeで1回、その距離を割り出し、ファイルに書き込むという形を取りたいのです

回答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
qnoir

総合スコア7910

AnMoreNight, Kuro_Rubbit👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

Kuro_Rubbit

2022/11/12 22:44

出来ました!ありがとうございます!!
qnoir

2022/11/12 23:19 編集

【2022/11/13 07:40時点のKuro_Rubbit さんのコメント】 > APIキーの設定は完了している前提との事ですが、私が聞きたいのは、nodeの中でのApiキーの設定の仕方なのですが.... > 説明下手ですみません > お忙しいところ恐れ入りますが、よろしくお願いいたします すみません。 質問者さんが聞きたいのは「Nodeでgoogole maps apiを使用するに当たって、どのようなコードを書けばよいのか。つまり、どのようなライブラリを使い、コード中のどの部分にどうAPIキーを書けばよいかが知りたい」 ということではないのですか? 私はコードの中で「 @googlemaps/google-maps-services-js をインストール」 「 key: "APIキーを指定",」という書き方で、それを示したつもりなのですが・・・ もしそうでないのなら、具体的なところを教えてください。 ---- 07:44の編集後のコメントに対して: →解決されたとのことなので、本件はクローズします。
Kuro_Rubbit

2022/11/13 04:58

お忙しいところ度々すみません、これを同期処理で描きたい場合はどのような書き方がありますか? お手隙の際によろしくお願いいたします

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。