GoogleEarthで表示している場所の緯度経度から検索する

geophoto.kmlから、前記事で作ったlocalhostで動いてるRailsに保存してあるflickrのgeotag写真を緯度経度で検索してさらにkmlを読み出している。
http://earth.google.co.jp/kml/kml_tags_21.html をローカルに保存してあって嬉しかったのでバスの中で作った。


geophoto.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLink>
  <name>geophoto search</name>
  <flyToView>0</flyToView>
  <Link>
    <href>http://localhost:3000/photos.kml</href>
    <viewRefreshMode>onStop</viewRefreshMode>
    <viewRefreshTime>2</viewRefreshTime>
    <viewFormat>lat=[lookatLat]&amp;lon=[lookatLon]</viewFormat>
  </Link>
</NetworkLink>
</kml>

これでGoogleEarthのスクロールを停止する毎に緯度経度をgetパラメータに含めて送信するので、表示しているまわりの写真を表示できる


webricのtraceを見てみると、ちゃんとgetでカメラ視点をlat lonで受け取れてる

Processing PhotosController#index (for 127.0.0.1 at 2008-04-08 12:42:02) [GET]
  Session ID: 0a8f32676f321e0d28659d37af4e5c8b
  Parameters: {"lon"=>"-28.7512167691245", "format"=>"kml", "action"=>"index", "controller"=>"photos", "lat"=>"40.27023009111802"}
  Photo Load (0.063317)   SELECT * FROM photos WHERE 35 < lat AND lat < 45 AND -33 < lon AND lon < -23 LIMIT 500
Rendering photos/index
Completed in 0.07238 (13 reqs/sec) | Rendering: 0.00387 (5%) | DB: 0.06332 (87%) | 200 OK [http://localhost/photos.kml?lat=40.27023009111802&lon=-28.7512167691245]

Processing PhotosController#index (for 127.0.0.1 at 2008-04-08 12:42:08) [GET]
  Session ID: cfdf655e62e5f936b2c9a10c3395da6e
  Parameters: {"lon"=>"21.88655351387693", "format"=>"kml", "action"=>"index", "controller"=>"photos", "lat"=>"-4.819648255770804"}
  Photo Load (0.070217)   SELECT * FROM photos WHERE -9 < lat AND lat < 1 AND 16 < lon AND lon < 26 LIMIT 500
Rendering photos/index
Completed in 0.07614 (13 reqs/sec) | Rendering: 0.00101 (1%) | DB: 0.07022 (92%) | 200 OK [http://localhost/photos.kml?lat=-4.819648255770804&lon=21.88655351387693]