X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/aa52ebe6749ba1ea43030f173bfe2101d0f77dc3..af5fa9e0ca08a040a060b40bc9f77fa415f27958:/app/views/site/index.rhtml diff --git a/app/views/site/index.rhtml b/app/views/site/index.rhtml index 31b8fcd70..d5c7b9e03 100644 --- a/app/views/site/index.rhtml +++ b/app/views/site/index.rhtml @@ -1,23 +1,4 @@ - - -
- <% form_tag :controller => 'geocoder', :action => 'search' do %> - <%= text_field 'query', 'postcode' %> - <%= text_field 'query', 'place_name'%> - <%= submit_tag 'Search' %> - <% end %> - -
- Geolocation provided by npemap.org.uk, - geocoder.us, geocoder.ca and geonames.org -
-
- Enter a postcode or zip code, eg: SW15 6JH, 95472 -
-
- Enter a place-name, eg:Essen -
-
+<%= render :partial => 'search' %> <% if params['mlon'] and params['mlat'] %> <% marker = true %> @@ -78,9 +59,9 @@ } 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'} ); + layer = new OpenLayers.Layer.TMS( "Mapnik", "http://tile.openstreetmap.org/", {type:'png', getURL:getTileURL} ); map.addLayer(layer); - layer = new OpenLayers.Layer.LikeGoogle( "Osmarender", "http://dev.openstreetmap.org/~ojw/Tiles/tile.php/", {type:'png'} ); + layer = new OpenLayers.Layer.TMS( "Osmarender", "http://dev.openstreetmap.org/~ojw/Tiles/tile.php/", {type:'png', getURL:getTileURL} ); map.addLayer(layer); //Marker stuff @@ -93,25 +74,37 @@ markers.addMarker(marker); <%end%> - map.addControl(new OpenLayers.Control.LayerSwitcher()); + map.addControl(new OpenLayers.Control.LayerSwitcher()); map.setCenter(new OpenLayers.LonLat(lon, lat), zoom); - map.events.register("moveend", map, function() { - var lonlat = map.getCenter(); - - 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 zoom = map.getZoom(); - updatelinks(lon_deg,lat_deg,zoom); - }); + map.events.register("moveend", map, updateLocation); document.getElementById( 'map_OpenLayers_ViewPort' ).style.position = 'absolute'; if( ie6 ) { handleResize(); } + updateLocation(); } + function getTileURL( bounds ) { + var res = this.map.getResolution(); + var x = Math.round ((bounds.left - this.maxExtent.left) / (res * this.tileSize.w)); + var y = Math.round ((this.maxExtent.top - bounds.top) / (res * this.tileSize.h)); + var z = this.map.getZoom(); + return this.url + z + "/" + x + "/" + y + "." + this.type; + } + + function updateLocation() { + var lonlat = map.getCenter(); + + 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 zoom = map.getZoom(); + + updatelinks(lon_deg,lat_deg,zoom); + } + function getStyle( el, property ) { var style; if( el.currentStyle ) {