Google Maps API

Google Mapsが表示されない

不安定な最新版を利用している可能性があります。 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

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

<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

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

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

2019/07/15 記述

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

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

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

gestureHandling: 'greedy'

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Mon, 15 Jul 2019 12:31:00 JST (64d)