Mercurial > hgrepos > hgweb.cgi > skipweb
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>