changeset 638:69d4bd1ed32d

redirect.html map.rb added
author FUJIKAWA Kosuke <c111126@g.koeki-u.ac.jp>
date Thu, 30 Oct 2014 18:27:27 +0900
parents 16e329bd63e0
children d491cb5a6bf0
files fujix/map.rb fujix/redirect.html
diffstat 2 files changed, 120 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fujix/map.rb	Thu Oct 30 18:27:27 2014 +0900
@@ -0,0 +1,70 @@
+#!/usr/bin/env ruby
+#coding:utf-8
+
+require 'cgi'
+c = CGI.new(:accept_charset => "UTF-8")
+
+#lon = c["lon"].to_f
+#lat = c["lat"].to_f
+
+if ARGV[1] != nil
+  lon = ARGV[0].to_f
+  lat = ARGV[1].to_f
+else
+  lat = 38.91525
+  lon = 139.83450
+end
+
+print("Content-type: text/html; charset=UTF-8\n\n")
+
+printf(<<_EOS_,lon,lat)
+<html>
+<head>
+        <title>Simple OSM GPX Track</title>
+        <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
+        <script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
+
+        <script type="text/javascript">
+                lat = %f
+                lon = %f
+                var zoom=13
+ 
+                var map;
+ 
+                function init() {
+                        map = new OpenLayers.Map ("map", {
+                                controls:[
+                                        new OpenLayers.Control.Navigation(),
+                                        new OpenLayers.Control.PanZoomBar(),
+                                        new OpenLayers.Control.Attribution()
+                                        ],
+                                maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
+                                maxResolution: 156543.0399,
+                                numZoomLevels: 6,
+                                units: \'m\',
+                                projection: new OpenLayers.Projection("EPSG:900913"),
+                                displayProjection: new OpenLayers.Projection("EPSG:4326")
+                        } );
+
+                        layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
+                        map.addLayer(layerMapnik);
+                        layerMarkers = new OpenLayers.Layer.Markers("Markers");
+                        map.addLayer(layerMarkers);
+ 
+                        var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
+                        map.setCenter(lonLat, zoom); 
+                        var size = new OpenLayers.Size(21, 25);
+                        var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
+                        var icon = new OpenLayers.Icon(\'http://www.openstreetmap.org/openlayers/img/marker.png\',size,offset);
+                        layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
+                }
+        </script>
+<meta http-equiv="refresh" content="20;redirect.html">
+</head>
+
+<body onload="init();">
+_EOS_
+print"<div style=\"width:90\%\; height:90\%\" id=\"map\"></div>
+</body>
+</html>
+"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fujix/redirect.html	Thu Oct 30 18:27:27 2014 +0900
@@ -0,0 +1,50 @@
+<html>
+<head>
+<title>たいとる</title>
+</head>
+<script language="javascript">
+time = 2;
+url = "http://roy.e.koeki-u.ac.jp/~c111126/mycgi/sotsu/map.rb";
+
+if (navigator.geolocation) {
+  navigator.geolocation.getCurrentPosition(
+
+    function (hoge) {
+      var lon = hoge.coords.latitude;
+      var lat = hoge.coords.longitude;
+      url += "?" + lon + "+" + lat;
+    },
+
+    function (error) {
+
+      var message = "";
+
+      switch (error.code) {
+
+      case error.POSITION_UNAVAILABLE:
+        message = "位置情報の取得ができませんでした。";
+	break;
+
+      case error.PERMISSION_DENIED:
+        message = "位置情報取得の使用許可がされませんでした。";
+	break;
+
+      case error.PERMISSION_DENIED_TIMEOUT:
+        message = "位置情報取得中にタイムアウトしました。";
+	break;
+
+      }
+      window.alert(message);
+    }
+  );
+}
+
+function jumpPage() {
+  location.href = url;
+}
+setTimeout("jumpPage()",time*500)
+</script>
+<body>
+<p>ほげ</p>
+</body>
+</html>

yatex.org