Sep 28, 2006

KMLをGoogle Maps上にマップする[再]

一年以上昔のことになりますが、Ogawa::Buzz: Ajaxを使ってKMLをGoogle Maps上にマップするという記事を書きました。これはGoogle Maps APIの非同期読み込み機能を使って外部KMLファイルの内容をGoogleマップ上にマップするというものでした。

それから時は流れ、Ogawa::Buzz: XML2JSONサービスを使ってFlickr Badgeを作るを書いた時点で、そうかそうかXML2JSONサービス(XML を JSON に変換するサービス - ベータ版を公開 :: Drk7jp)を使えば別に非同期読み込みを使わずとも(proxyなどを使わずとも)Javascriptだけでkml2gmapsは実現できるじゃんと気が付きました。

面倒なので長らく放置していましたがリハビリがてらやってみました。

上のURLではサンプルKMLファイルを読み込み、Google Maps APIを使ってマップ表示します。また、下のように「?url=」に続いてKMLファイルのURLを指定すればそのファイルをマップ表示します。

さらにOgawa::Buzz: georss2kml.cgi: GeoRSSをGoogle Earthにマップするスクリプトを中継に使うことで、GeoRSSをGoogle Maps上にマップすることもできます。


XML2JSONサービスに食わすKMLファイルのContent-typeはtext/xmlやapplication/xmlでないと駄目っぽいかも。.htaccessに以下のように設定してあれば問題ないようですね。

AddType application/vnd.google-earth.kml+xml kml

あと、http://as-is.net/maps/sample.kml - Google マップ で済むがね、意味ないがねっていう話は言わない約束!!!

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com