以前にコメントしましたが,Google Mapsは,GeoRSSをサポートしています。GeoRSSで与えられている緯度経度をGoogle Mapsでオーバーレイする方法は2つあって,
1. Google Mapsのサイトで,地図の検索のところにGeoRSSのURLを入力する方法
2. Googel Maps APIのGGeoXMLを使って,自分のサイトに載せる
があります。
さて,写真共有サイトのFlickrは,GeoRSSをサポートしていることが分かりました。
RSSに位置情報を格納できるGeoRSSをGoogle Maps APIがサポート (F.Ko-Jiの「一秒後は未来」)
http://blog.fkoji.com/2007/03250034.html
Flickrで取得できるフィードはGeoRSSに対応しているらしく、&georss=trueというパラメータを付与することでフィードにGeoRSSで位置情報が埋め込まれるそうです。
田口のFlickrでGeoRSSを出力すると,以下のようになります。
http://api.flickr.com/services/feeds/photos_public.gne?id=7593934@N02&format=rss_50&georss=true
てなわけで,これをGoogle MapsでGeoRSSをオーバーレイしてみました。
1の方法は,こちらをクリックすると,Google Mapsのサイトへ飛んでマッピングされます。ただ,問題点があり,こちらで示されているように,二重に表示されてしまいます。
2の方法は,こちらにサイトを設置しました。ソースはシンプルで,
var map;
var geoXml = new GGeoXml("http://api.flickr.com/services/feeds/photos_public.gne?id=7593934@N02&format=rss_50&georss=true");function onLoad() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(35.51881, 139.44418),9);
map.setMapType(G_SATELLITE_MAP);
map.addControl(new GOverviewMapControl(new GSize(120,120)));
map.addOverlay(geoXml);
}
これだけです。
以前,Flickr APIでJSONを出力し,Google Mapsにオーバーレイする方法を紹介しましたが,今回の方法は,マーカーのアイコンがいじれないなど,自由度は低いですね。従って,しっかりしたサイトを作りたい人は,Flickr APIを使用する方法がお勧めです。気軽さでいえば,今回の方法もありでしょう。
とにかく,GeoRSSがFlickrのような大手のサービスで採用されているのは,大変望ましい限りです。
トラックバック(0)
このブログ記事を参照しているブログ一覧: Flickr GeoRSS + Google Maps
このブログ記事に対するトラックバックURL: http://www.tagchan.net/cgi/mt/mt-tb.cgi/104

コメントする