-
-<script type="text/javascript">
- var lat = <%= lat %>;
- var lon = <%= lon %>;
- var zoom = <%= zoom %>;
- var PI = 3.14159265358979323846;
-
-
-
- <% if params['scale'] and params['scale'].length > 0 then %>
- zoom = Math.log(360.0/(( <% print params['scale'].to_f() %> ) * 512.0)) / Math.log(2.0);
- <% end %>
- zoom = zoom;
- lon = lon * 20037508.34 / 180;
- lat = Math.log(Math.tan( (90 + lat) * PI / 360)) / (PI / 180);
- lat = lat * 20037508.34 / 180;
- <% if marker %>
- mlon = mlon * 20037508.34 / 180;
- mlat = Math.log(Math.tan( (90 + mlat) * PI / 360)) / (PI / 180);
- mlat = mlat * 20037508.34 / 180;
- <%end%>
-
-</script>
-<script type="text/javascript" src="/javascripts/OpenLayers.js"></script>
-
-<script type="text/javascript">
- <!--
- var map, layer, markers, marker;
-
-
- function mercator2lonlat( merc ) {
- var lon_deg = (merc.lon / 20037508.34) * 180;
- var lat_deg = (merc.lat / 20037508.34) * 180;
- var PI = 3.14159265358979323846;
- lat_deg = 180/PI * (2 * Math.atan(Math.exp(lat_deg * PI / 180)) - PI / 2);
- return new OpenLayers.LonLat(lon_deg,lat_deg);
- }
-
- function lonlat2mercator( ll ) {
- var lon = ll.lon * 20037508.34 / 180;
- var lat = Math.log(Math.tan( (90 + ll.lat) * PI / 360)) / (PI / 180);
- lat = lat * 20037508.34 / 180;
- return new OpenLayers.LonLat(lon,lat);
- }
-
- function init(){
-
- OpenLayers.Util.onImageLoadError = function() {
- this.src = "http://www.openstreetmap.org/javascript/img/404.png";
- }
- map = new OpenLayers.Map( "map",
- {maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxZoomLevel:18, maxResolution:156543, units:'meters', projection: "EPSG:41001"} );
- layer = new OpenLayers.Layer.LikeGoogle( "Mapnik", "http://tile.openstreetmap.org/", {type:'png'} );
- map.addLayer(layer);
- layer = new OpenLayers.Layer.LikeGoogle( "Osmarender", "http://dev.openstreetmap.org/~ojw/Tiles/tile.php/", {type:'png'} );
- map.addLayer(layer);
-
- //Marker stuff
-
- markers = new OpenLayers.Layer.Markers("markers");
- map.addLayer(markers);
-
- <% if marker %>
- marker = new OpenLayers.Marker(new OpenLayers.LonLat(mlon,mlat));
- markers.addMarker(marker);
- <%end%>
-
- var near_icon = OpenLayers.Marker.defaultIcon();
- near_icon.url = OpenLayers.Util.getImagesLocation() + "marker-green.png";;
- var i = nearest.length;
- while( i-- ) {
- markers.addMarker( new OpenLayers.Marker( lonlat2mercator( new OpenLayers.LonLat( nearest[i].home_lon, nearest[i].home_lat ) ), near_icon ) );
- }
-
- map.addControl(new OpenLayers.Control.LayerSwitcher());
- map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
-
- map.events.register("click", map, setHome);
- }
-
- function setHome( e ) {
- var lonlat = map.getLonLatFromViewPortPx(e.xy)
-
- var lon_deg = (lonlat.lon / 20037508.34) * 180;
- var lat_deg = (lonlat.lat / 20037508.34) * 180;
- var PI = 3.14159265358979323846;
- lat_deg = 180/PI * (2 * Math.atan(Math.exp(lat_deg * PI / 180)) - PI / 2);
- var homerow = document.getElementById( 'homerow' );
- var home_lat = document.getElementById( 'home_lat' );
- var home_lon = document.getElementById( 'home_lon' );
- homerow.className = '';
- home_lat.value = lat_deg;
- home_lon.value = lon_deg;
- if( marker ) {
- markers.removeMarker(marker);
- }
- marker = new OpenLayers.Marker(lonlat);
- markers.addMarker(marker);
- }
-window.onload = init;
-// -->
-</script>
-
-<h2>Privacy</h2>
-<% if @user.data_public? %>
- All your edits are public.
-<% else %>
- Currently your edits are anonymous and people can't find out where you are located. To show what you edited and allow people to contact you through the website, click the button below. This action cannot be reversed.
- <br /><br />
- <%= start_form_tag :controller => 'user', :action => 'go_public'%>
- <%= submit_tag 'Make all my edits public, forever' %>
- <%= end_form_tag %>
-<% end %>