view fujix/map.rb @ 2944:b1cb17ea7605

merge
author ARAKI Tsuyohito <c113007@e.koeki-u.ac.jp>
date Tue, 08 Dec 2015 19:36:05 +0900
parents 888de7444b35
children
line wrap: on
line source

#!/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[1].to_f
  lat = ARGV[0].to_f
else
  lat = 38.91525
  lon = 139.83450
end

print("Content-type: text/html; charset=UTF-8\n\n")

printf(<<_EOS_,lat,lon)
<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=15
 
                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>
"

yatex.org