まず、複数の Marker を作るサンプル。
http://waox.main.jp/news/?p=2238
デモは、こちら。
http://waox.main.jp/news/maps/v3/example/array_marker1.html
ソース中の、23行目からの配列で、'公園1' とかが InfoWindow の内容に表示されることを覚えておきます。
で、InfoWindow の中に、YouTube の動画を表示するサンプルがこちら。
http://waox.main.jp/news/?p=2187
デモは、こちら。
http://waox.main.jp/news/maps/v3/example/map-info7.html
25行目で InfoWindow#open メソッドを呼んでいるので、最初から吹き出しが表示されていますが、18行目の contentString に YouTube の埋め込みコードの <iframe> の内容が書かれていることに着目。
最初の複数の Marker を作るサンプルで、23行目で定義している配列の、最初の要素を、YouTube の埋め込みコードを含むような HTML の断片にすれば、動画を表示する複数の Marker が配置できると思います。
Youtubeユーザーの更新毎に自動でMapsに反映されるようにはできないでしょうか。
Youtube の埋め込みコードの部分は、ID の部分をどうするか、ってことになります。
そちらは、YouTube API を使って検索します。
検索結果から、埋め込みコードの該当部分を作ります。
Google Maps API が javascript なので、JSON インターフェースの API を使うことになると思います。
https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters
検索は、上記の author パラメータで、Youtube ユーザの ID を指定します。
返ってくる結果は、こちらを参考。
https://developers.google.com/youtube/2.0/developers_guide_protocol_video_entries
https://developers.google.com/youtube/2.0/developers_guide_protocol_understanding_video_feeds#Understanding_Video_Entries
中身を読む前に、Youtube API の JSON インターフェースを使うプログラムのコードがこちら。
http://blog.kazuhiroshibuya.com/archives/51446267.html
entry というところのデータをループで取り出しているところに着目。
で、XML でのレスポンスのデータを再確認。
多分、抽出しなきゃいけないのは、entry ノードの直下の以下の二つのノード。
▽2
●
Cherenkov ●990ポイント ![]() |
https://gist.github.com/2662145
demo: http://jsfiddle.net/gh/gist/jquery/1.6.4/2662145/
chromeだけ吹出しのyoutubeの上部に変なスペースができてしまう問題があります。