ネットサービスとかGoogleとか豆知識とか。

Index > Google Maps API > new google.maps.infoWindow()は当然undefinedである
Google Maps API
2011年07月06日 11:13

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

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

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