Back out attempt to commit partial support for POIs as this is not at
authorTom Hughes <tom@compton.nu>
Tue, 8 Jan 2008 18:23:56 +0000 (18:23 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 8 Jan 2008 18:23:56 +0000 (18:23 +0000)
all ready for prime time yet.

app/views/site/index.rhtml
public/javascripts/map.js

index 875a28340364e38a5ae5222a75d45b1d673687a8..604ecdb326a97659ab584eeec9d080992825f62c 100644 (file)
@@ -115,65 +115,11 @@ by the OpenStreetMap project and it's contributors.
 
     map.events.register("moveend", map, updateLocation);
     map.events.register("changelayer", map, updateLocation);
-    map.events.register("click", map, mapClick);
     updateLocation();
 
     handleResize();
   }
 
-  // Map click results in feature lookup
-  function mapClick(e) {
-      var pos = lonLatToNonSphericalMercator
-                (mercatorToLonLat
-                    (map.getLonLatFromViewPortPx 
-                        ( map.events.getMousePosition(e))));
-
-    // put in the freemap url for the moment. this will be replaced
-    // by a ruby equivalent.
-       /*
-    url= 'http://www.free-map.org.uk/freemap/common/osmlookup.php?'+ 
-            'action=get&x='+pos.lon+'&y='+pos.lat;
-
-    OpenLayers.loadURL(url,/null, null,osmLookupCallback); 
-       */
-  }
-
-  // the feature lookup finds the nearest POI node, or, if no node could
-  // be found, the nearest way
-  /*
-  function osmLookupCallback (xmlHTTP) {
-    var nodes = xmlHTTP.responseXML.getElementsByTagName('node');
-    var ways = xmlHTTP.responseXML.getElementsByTagName('way');
-    var features = (ways.length==1) ? ways:nodes;
-
-    if(features.length==1) {
-      var osm_id = features[0].getElementsByTagName('osm_id')[0].
-                        firstChild.nodeValue;
-      var name = 
-                (xmlHTTP.responseXML.getElementsByTagName('name').length>0) ?
-                    xmlHTTP.responseXML.getElementsByTagName('name')[0].
-                        firstChild.nodeValue: "";
-
-
-      if(this.osm_type=='way' && ways.length==1) {
-                // use openlayers vector layer to highlight way for editing?
-      }
-
-      var description="";
-      var wikipedia="";
-      var ad=false;
-
-      if(xmlHTTP.responseXML.getElementsByTagName('description').length){
-          osmdesc=
-              xmlHTTP.responseXML.getElementsByTagName('description')[0].
-              firstChild.nodeValue;
-
-          description += "<p>"+osmdesc+"</p>";
-       } 
-     }
-  }
-  */
-
   function getPosition() {
     return mercatorToLonLat(map.getCenter());
   }
index 0c13b016e93c0422a421e69634bb44b0444a7e43..abbc7f8eaa9a81860a96836f2b5a7f255fcfeeb9 100644 (file)
@@ -146,56 +146,6 @@ function lonLatToMercator(ll) {
    return new OpenLayers.LonLat(lon, lat);
 }
 
-// for interacting with the PostGIS database which uses non spherical
-// Mercator. Taken from Freemap which in turn was taken from a standard
-// algorithm off the net.
-
-function lonLatToNonSphericalMercator(ll) {
-    var custLat  = ll.lat * (Math.PI/180);
-    var a = 6378137;
-    var b = 6356752.3142;
-    var f = (a-b)/a;
-    var e = Math.sqrt(2*f-Math.pow(f,2));
-    custLat=a*Math.log(Math.tan(Math.PI/4+custLat/2)*
-        Math.pow(( (1-e*Math.sin(custLat)) / (1+e*Math.sin(custLat))),e/2));
-    custLon = ll.lon * (Math.PI/180) * 6378137;
-    return new OpenLayers.LonLat (custLon,custLat);
-}
-
-function nonSphericalMercatorToLonLat(merc) {
-    var lon_deg, lat_deg;
-    var a = 6378137.0;
-    var b = 6356752.3142;
-    var k0 = 1.0;
-    var t = 1.0 - b/a;
-    var es = 2*t - t*t;
-    var e = Math.sqrt(es);
-    lon_deg = merc.lon;
-    lat_deg = merc.lat;
-    lon_deg /= a;
-    lat_deg /= a;
-    lon_deg /= k0;
-    lat_deg = phi2(Math.exp(-lat_deg/k0), e);
-    lon_deg *= (180/M_PI);
-    lat_deg *= (180/M_PI);
-    return new OpenLayers.LonLat(lon_deg,lat_deg);
-}
-
-function phi2 (ts,e) {
-    var eccnth = 0.5*e;
-    var Phi = (PI/2) - 2.0*Math.atan(ts);
-    var dphi;
-    var i=15;
-    do {
-        var con = e*Math.sin(Phi);
-        dphi = (PI/2) - 2.0*Math.atan(ts*Math.pow((1.0-con)/(1.0+con),eccnth))
-            - Phi;
-        Phi += dphi;
-    }
-    while(Math.abs(dphi) > 0.0000000001 && --i);
-    return Phi;
-}
-
 function scaleToZoom(scale) {
    return Math.log(360.0/(scale * 512.0)) / Math.log(2.0);
 }