Google Earth(TM) 地図サービスのオススメスポット・Wiki更新状況・おもしろい情報の紹介などを書き綴っていきます。

土曜日, 5月 12, 2007

RubyでKMLをつくる - その3

KMLとRubyその1 Originally uploaded by Takashi.U.
 先日の続きです。とりあえず書いてみましょう。 require 'rexml/document' require 'open-uri' require 'nkf' file = open("http://api.hotpepper.jp/GourmetSearch/V110/?
key=guest&Latitude=35.66922072646455&Longitude=139.7614574432373") doc = REXML::Document.new file puts '<?xml version="1.0" encoding="UTF-8"?>' puts '<kml xmlns="http://earth.google.com/kml/2.1">' puts '<document>' doc.elements.each("Results/Shop") do |element| name = NKF.nkf('-s',element.elements["ShopName"].text) lon = element.elements["Longitude"].text lat = element.elements["Latitude"].text puts '<placemark>' puts '<name>' + name + '</name>' puts '<point>' puts '<coordinates>' + lon + ',' + lat + ',0</coordinates>' puts '</point>' puts '</placemark>' end puts '</document>' puts '</kml>'  NKFライブラリを利用していますが、これは文字のエンコードをするライブラリです。  また、今回の例ではホットペッパー Webサービスを利用しています。  上記コードのようにblog.rbファイルを作成したとして、コマンドプロンプトを利用して次のように入力します。  ruby blog.rb  写真のようにコマンドプロンプトで結果を確認できます。文字コードによっては文字化けしてしまいます。  ここからサーバー上で利用するなり、KML・KMZを出力するなりするわけです。

0 コメント: