#GoogleMapをサイトに埋め込み表示しているけれどこのままでいいの?
GoogleMapの表示について、
maps→maps platformへの仕様変更もあることですし、
疑問に思って調べたところ、わからなかった部分が少し解決したのでメモ
##Google Maps Platform API
2018年6月~7月導入のgoogle maps platform APIは、
18種あるgoogle maps APIを統合して3種のgoogle maps platformとなります
Google Maps Platform
統合され料金プランが従量制になるだけで、今までのコードのまま使用が可能ですが、
API keyを正しく設定していないと7/16以降表示されなくなる場合があるようです。
と、聞いて、じゃぁ実際自分の管理しているところではどうなのだろう。
API keyはずいぶん前に取得してあるけれど、実際の取得にkeyの設定はしていないが・・・
と調べているうちにわかったのは
##3種の異なる埋め込み表示方法がある
ということでした。
- google mapsの地図から取得した埋め込み
- google maps EMBED API
- その他google maps API
###1. google mapsの地図から取得した埋め込み
表示した地図から
共有→iframeのコードを使って取得したコードを使ってマップを表示する場合、
API keyは不要となります。
google maps platform API checker
というAPIをkeyの設定をして使用しているかのチェッカー(chromeの拡張機能)では、
other Details→ Maps Embed APIを使用していると判断されてしまいます。
でもEmbed APIとは別なんですって。
確かにアクセスURLが微妙に違う・・・
embedの場合
https://www.google.com/maps/embed/v1/{mode}?key=YOUR_API_KEY¶meters
マップから共有の場合
https://www.google.com/maps/embed?pb=parameters
###2. google maps EMBED API
iframeのコードを使って表示する簡単な埋め込みです
javascriptで記述することがないので、簡単な分できることも少ないです。
詳細は、
Google Maps Embed API|Google Developers
で確認していただくとして、
platform APIになると従量課金制の有料で、200ドル分まではフリーで使えるということですが、
このほかに、
・iOS、Android、Embed でマップを使用(マップ表示のみ)
・マップ URL
は無料で使えます。
つまりEMBED APIはAPI keyを設定する必要があるが、無料で使えるということです。
###3. その他google maps API
ルートを表示したい!
スポットをたくさん設定したい!
ストリートビューのここを表示したい!
など、地図上で表現したいことは様々です。
javascriptを利用して細かい設定をした地図の表示をしたり、
アプリで利用する場合はこれらAPIを使う必要がでてくるでしょう。
しかし、単純な所在地の表示の場合は出番がなさそうです。
wordpressでプラグインを利用してmapを表示している場合、
embed以外の方法で表示しているかもしれません。
つまり、課金の対象となってくる可能性があります。
API keyの設定と支払い方法の設定を確認しておいた方が良いでしょう。
##結論)embedが良さそうだけど...しばらくは共有埋め込み
何の変哲もないサイト内で地図を表示する場合は、
・API keyを取得
・keyに制限を設ける(盗用をさけるため)
・google maps embed APIを使用し、マップを表示する
が良いのかなと思います。
一日のビュー回数などをコントロールすることで、
スポットでビュー回数が上がった場合なども、
表示できない期間が続くようなことを避けることもできます。
よっぽどアクセス数がない限り、無料で使えそうです。
ただ、
盗用を避けるための設定が面倒といえば面倒です。
API キーを安全に使用するためのベスト プラクティス
API keyをベタ打ちするembed方式はこのままで良いのかしら?とも思います。
セキュリティの観点からすると、もう少し検討をしたほうが良さそうです。
また、マップから、共有→コードを取得する
というところは、
個人利用の観点からまだまだなくならないようにも思います。
しばらくは共有埋め込みでいってみようと思います。