2395
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
1 #!/usr/bin/env ruby
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
2 #coding:utf-8
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
3
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
4 print"Content-type: text/html charset=UTF-8\n\n"
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
5
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
6 require'sqlite3'
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
7 require'cgi'
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
8 c = CGI.new(:accept_charaset => "UTF-8")
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
9 db = SQLite3::Database.new("sql/test.sq3")
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
10 db.results_as_hash = true
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
11
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
12 data = Hash.new
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
13
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
14 begin
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
15 db.execute("select * from main");
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
16 rescue
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
17 db.execute("create table main(id INTEGER PRIMARY KEY AUTOINCREMENT,name,lon,lat)");
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
18 db.execute("insert into main(name,lon,lat) values('#{name}','#{lon}','#{lat}')");
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
19 end
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
20
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
21 db.execute("select * from main") do |load|
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
22 data[load['id']] = [load['name'],load['lon'],load['lat'],load['sta']]
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
23 end
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
24
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
25 lon = 38.89420
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
26 lat = 139.8187
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
27 redirect = "check.rb"
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
28 image = ["","face","angry","sad"]
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
29
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
30 if ARGV[1] != nil
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
31 lon = ARGV[0].to_f
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
32 lat = ARGV[1].to_f
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
33 redirect += "?" + lon.to_s + "+" + lat.to_s
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
34 end
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
35
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
36 printf(<<_EOS_,redirect,lon.to_f,lat.to_f)
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
37 <!DOCTYPE html>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
38 <html>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
39 <head>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
40 <link rel="stylesheet" type="text/css" href="leaflet/leaflet.css"/>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
41 <script src="leaflet/leaflet.js"></script>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
42 <style>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
43 html,body,#map{
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
44 height: 100%
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
45 }
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
46 body{
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
47 padding: 0;
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
48 margin: 0;
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
49 }
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
50 </style>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
51 <title>閲覧用ページ</title>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
52 <!-- <meta http-equiv="refresh" content="20;%s"> -->
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
53 </head>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
54 <body>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
55 <div id="map"></div>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
56 <script type="text/javascript">
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
57 var hmap = L.map('map',{
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
58 center: [%f,%f],
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
59 zoom: 16 //1~18
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
60 });
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
61 L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
62 attribution: '© OpenStreetMap contributors'
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
63 }).addTo(hmap);
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
64 _EOS_
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
65
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
66 for id in data.keys
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
67 if data[id][1] == "LON"
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
68 next
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
69 else
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
70 num = data[id][3]
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
71 printf(<<_EOS_,data[id][1].to_f,data[id][2].to_f,image[num],data[id][0])
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
72 L.marker([%f,%f],{
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
73 clickable:true,
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
74 draggable:true,
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
75 icon:L.icon({
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
76 iconUrl: 'leaflet/images/%s.png',
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
77 iconAnchor: [0,0],
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
78 popupAnchor: [10,5]
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
79 })
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
80 })
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
81 .bindPopup('%s')
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
82 .addTo(hmap);
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
83 _EOS_
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
84 end
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
85 end
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
86
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
87 print"
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
88 </script>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
89 </body>
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
90 </html>\n"
|
FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
parents:
diff
changeset
|
91
|