* Google Maps API [#se4822c1]

** Google Mapsが表示されない [#m7e405ab]

不安定な最新版を利用している可能性があります。
Premiumプランではない場合、デフォルトで最新版が指定されます。

最新版
 https://maps.googleapis.com/maps/api/js?v=weekly&key=xxx

安定版
  https://maps.googleapis.com/maps/api/js?v=quarterly&key=xxx

バージョン直指定
  https://maps.googleapis.com/maps/api/js?v=3.34&key=xxx

上記は、2019/01/15時点の情報です。

** Google Mapsが表示されないその2 [#d89d707d]

上記を対応しても、数か月後再び表示されなくなりました。
仕様変更があって、呼び出し側の対応が不足していると思われます。

旧
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&key=AIzaSyA1bAl3z7pmy6HYJ8_6ExbG7GMDqiXONY4"></script>

新
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&key=AIzaSyA1bAl3z7pmy6HYJ8_6ExbG7GMDqiXONY4&callback=initMap"></script>

上記のように書き換えて、initMap()関数を用意し、そこでマップ生成を行なうように変えました。以前はgoogle.maps.event.addDomListener(window, 'load',XXX)でイベントリスナに初期関数を無名関数で登録していました。

この変更の影響か、マップを表示している要素(div等)よりも後ろで<script>タグによる
Google API呼び出しを記述しないと、マップが表示されないようです。

2019/03/29 記述

** Google Mapsが表示されないその3 [#tf00b53d]

色々試しましたが、こちらのローカルJavascriptで、"Map"クラスを定義していたことが原因のようです。これは、Google Maps APIが提供するMapクラスと同名です。以前から気になっていましたが、とりあえず動作していたので、確認はしてきませんでした。これまで放置してきたバグの温床が、APIソース側の何かしらの変更により、顕在化したようです。Javascriptの名前空間周りの使用は、不勉強であまり把握できていません。

地図を扱う環境ですし、エラー警告も出ないので、同じようなことでハマる人がもしかしたらいるかもしれないので、メモを残しておきます。

2019/07/15 記述

** Google Mapsが表示されないその4 [#e4b0040d]

これまで上記のような対応を続けてきましたが、またしても表示されなくなりました。解決方法は、Google Maps APIの課金手続きを実施することです。課金手続きといっても、無料利用枠があるので、実際には課金されません。課金が発生する場合は、別途通知が来るそうです(どこかのネット記事からの又聞き)。これにより、これまでのトラブルがウソのように解決しました。

2020/05/05 記述

** Ctrlボタンを押さずにズーム変更できるようにする [#dd152f18]

ページいっぱいにマップが表示されたケースなどで、誤操作を防止するために、デフォルトだとCtrlボタンを押下しないと、ホイール操作によるズームイン・アウト操作が効かなくなりました。この変更自体は数年前からですが、何となく放置してきました。

Mapインスタンス生成時のオプションで下記を指定すると、従来通りCtrlボタンを押下せずにズームイン・アウトを操作できます。

 gestureHandling: 'greedy'

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS