F.Ko-Jiの「一秒後は未来」

new google.maps.infoWindow()は当然undefinedである

Google Maps API v3でハマった話。

マーカーをクリックしたら吹き出し(情報ウィンドウ)が表示されるという、ごくごく基本的なことをやろうとしたら、なぜか情報ウィンドウが表示されない。

// これは間違い
var infoWindow = new google.maps.infoWindow();

前後のコードがミスってるのかと思ったが、google.maps.infoWindow() が undefined と言われる。なぜ。

よくよく調べてみると、大文字と小文字の間違いだった。

// これが正しい
var infoWindow = new google.maps.InfoWindow();

google.maps オブジェクトに定義されているのは「infoWindow」ではなく「InfoWindow」。よく見ないと分からないかもしれないが、先頭の「I」が大文字でないといけない。

Google Maps API ではクラスの先頭は大文字という決まりを意識していればハマらなかったかも。しかしハマる時はこういう些細なところでハマるものだ。

» InfoWindow – Google Maps JavaScript API V3 リファレンス – Google Maps JavaScript API V3 – Google Code

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など