google maps api streetview panorama

だんだん教えるネタがなくなって来たんで、 先週は google maps api とかやったんで、 今週は streetview panorama やることにした。

厚木はストリートビューの範囲に入ってないのでやむを得ず中野をサンプルにしてみる。 二階のベランダに誰か立ってる

緯度・経度・カメラパラメータを表示させてみる。 なんとなく JavaScript のイベントとリスナーが分かってきた気がする。

あれれ、GLatLng.lat()、GLatLng.lng() ではなくて、GLatLng.lat、GLatLng.lng なの? リファレンスではメソッドになっているが、実際にはメンバー変数(プロパティ)? わからん。 やっぱJavaScriptはようわからん。 ただ単にリファレンスが間違ってるのか。

ああ。わかった。 initializedイベントでリスナーに渡されるのは、GLatLngではなくて、 GStreetviewLocation。 GStreetviewLocationのプロパティにGLatLngがある。 だから、GStreetviewLocation.latlng.lat() などと書かなくてはならなかったのだ。 たまたま、GStreetviewLocation.lat という、リファレンスに書かれてないプロパティが存在していたということだろう。 うえー、危ない。

streetviewとmapを同時表示。 だんだんおもしろくなって参りました。

streetview四枚で360度パノラマ(笑)。 一番左端のビューをドラッグすると、右の三つも連動します。 いやー。力技過ぎてまじうけるんですけど。

panorama

panorama2

全部合わせ技。 なんかイベントがループするんで、左端のビューと下のマップしか操作できません。 うわー。これぞまさしくマッシュアップって感じだなー(棒読み)。 てか、CAVEとかでやると楽しそうだね。