Advertisement
KeyDog

osm-openlayers.php for wordpress

Jan 5th, 2012
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 20.25 KB | None | 0 0
  1. <?php
  2.  
  3. class Osm_OpenLayers
  4. {
  5.   //support different types of GML Layers
  6.   function addGmlLayer($a_LayerName, $a_FileName, $a_Colour, $a_Type)
  7.   {
  8.     Osm::traceText(DEBUG_INFO, "addGmlLayer(".$a_LayerName.",".$a_FileName.",".$a_Colour.",".$a_Type.")");
  9.     $Layer .= '  var lgml = new OpenLayers.Layer.GML("'.$a_LayerName.'", "'.$a_FileName.'", {';
  10.     $Layer .= '    format: OpenLayers.Format.'.$a_Type.',';
  11.     $Layer .= '    style: {strokeColor: "'.$a_Colour.'", strokeWidth: 5, strokeOpacity: 0.5},';
  12.     $Layer .= '    projection: new OpenLayers.Projection("EPSG:4326")';
  13.     $Layer .= '  });';
  14.     $Layer .= '  map.addLayer(lgml);';
  15.     return $Layer;
  16.   }
  17.  
  18. // support different types of GML Layers
  19.   function addOsmLayer($a_LayerName, $a_Type, $a_OverviewMapZoom, $a_MapControl, $a_ExtType, $a_ExtName, $a_ExtAddress, $a_ExtInit)
  20.   {
  21.     Osm::traceText(DEBUG_INFO, "addOsmLayer(".$a_LayerName.",".$a_Type.",".$a_OverviewMapZoom.")");
  22.     $Layer .= ' map = new OpenLayers.Map ("'.$a_LayerName.'", {';
  23.     $Layer .= '            controls:[';
  24.     if (($a_MapControl[0] != 'off') && (strtolower($a_Type)!= 'ext')) {
  25.       $Layer .= '              new OpenLayers.Control.Navigation(),';
  26.       $Layer .= '              new OpenLayers.Control.PanZoom(),';
  27.       $Layer .= '              new OpenLayers.Control.Attribution()';
  28.     }
  29.     else if (($a_MapControl[0] == 'off') && (strtolower($a_Type)!= 'ext')){
  30.       $Layer .= '              new OpenLayers.Control.Attribution()';
  31.     }
  32.     else if (($a_MapControl[0] != 'off') && (strtolower($a_Type)== 'ext')){
  33.       $Layer .= '              new OpenLayers.Control.Navigation(),';
  34.       $Layer .= '              new OpenLayers.Control.PanZoom()';
  35.     }
  36.     else if (($a_MapControl[0] == 'off') && (strtolower($a_Type)== 'ext')){
  37.       // there is nothing to do
  38.     }
  39.     else {
  40.       Osm::traceText(DEBUG_ERROR, "addOsmLayer(".$a_MapControl[0].",".$a_Type.")");
  41.     }
  42.     $Layer .= '              ],';
  43.     $Layer .= '          maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),';
  44.     $Layer .= '          maxResolution: 156543.0399,';
  45.     $Layer .= '          numZoomLevels: 19,';
  46.     $Layer .= '          units: "m",';
  47.     $Layer .= '          projection: new OpenLayers.Projection("EPSG:900913"),';
  48.     $Layer .= '           displayProjection: new OpenLayers.Projection("EPSG:4326")';
  49.     $Layer .= '      } );';
  50.     if ($a_Type == 'All'){
  51.       $Layer .= 'var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
  52.       $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
  53.       $Layer .= 'var layerCycle  = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
  54.       $Layer .= 'var layerGooglePhysical   = new OpenLayers.Layer.Google("Google Physical", {type: google.maps.MapTypeId.TERRAIN} );';
  55.       $Layer .= 'var layerGoogleStreet     = new OpenLayers.Layer.Google("Google Street", {type: google.maps.MapTypeId.ROADMAP} );';
  56.       $Layer .= 'var layerGoogleHybrid     = new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID} );';
  57.       $Layer .= 'var layerGoogleSatellite  = new OpenLayers.Layer.Google("Google Satellite", {type: google.maps.MapTypeId.SATELLITE} );';
  58.       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
  59.       $Layer .= 'map.addLayers([layerMapnik, layerTah, layerCycle, layerGooglePhysical, layerGoogleStreet, layerGoogleHybrid, layerGoogleSatellite, layerOSM_Attr]);';
  60.       $Layer .= 'map.addControl(new OpenLayers.Control.LayerSwitcher());';
  61.     }
  62.     else if ($a_Type == 'AllOsm'){
  63.       $Layer .= 'var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
  64.       $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
  65.       $Layer .= 'var layerCycle  = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
  66.       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
  67.       $Layer .= 'map.addLayers([layerMapnik, layerTah, layerCycle, layerOSM_Attr]);';
  68.       $Layer .= 'map.addControl(new OpenLayers.Control.LayerSwitcher());';
  69.  
  70.  
  71.     }
  72.     else if ($a_Type == 'AllGoogle'){
  73.       $Layer .= 'var layerGooglePhysical   = new OpenLayers.Layer.Google("Google Physical", {type: google.maps.MapTypeId.TERRAIN} );';
  74.       $Layer .= 'var layerGoogleStreet     = new OpenLayers.Layer.Google("Google Street", {type: google.maps.MapTypeId.ROADMAP} );';
  75.       $Layer .= 'var layerGoogleHybrid     = new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID} );';
  76.       $Layer .= 'var layerGoogleSatellite  = new OpenLayers.Layer.Google("Google Satellite", {type: google.maps.MapTypeId.SATELLITE} );';
  77.       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
  78.       $Layer .= 'map.addLayers([layerGooglePhysical, layerGoogleStreet, layerGoogleHybrid, layerGoogleSatellite, layerOSM_Attr]);';
  79.       $Layer .= 'map.addControl(new OpenLayers.Control.LayerSwitcher());';
  80.     }
  81.     else{
  82.       if ($a_Type == 'Mapnik'){
  83.         $Layer .= 'var lmap = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
  84.       }
  85.       else if ($a_Type == 'Osmarender'){
  86.         $Layer .= 'var lmap = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
  87.       }
  88.       else if ($a_Type == 'CycleMap'){
  89.         $Layer .= 'var lmap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
  90.       }
  91.       else if (($a_Type == 'GooglePhysical') || ($a_Type == 'Google Physical')){
  92.         $Layer .= 'var lmap = new OpenLayers.Layer.Google("Google Physical", {type: google.maps.MapTypeId.TERRAIN} );';
  93.       }
  94.       else if (($a_Type == 'GoogleStreet') || ($a_Type == 'Google Street')){
  95.         $Layer .= 'var lmap = new OpenLayers.Layer.Google("Google Street", {type: google.maps.MapTypeId.ROADMAP} );';
  96.       }
  97.       else if (($a_Type == 'GoogleHybrid') || ($a_Type == 'Google Hybrid')){
  98.         $Layer .= 'var lmap = new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID} );';
  99.       }
  100.       else if (($a_Type == 'GoogleSatellite') || ($a_Type == 'Google Satellite')){
  101.         $Layer .= 'var lmap = new OpenLayers.Layer.Google("Google Satellite", {type: google.maps.MapTypeId.SATELLITE} );';
  102.       }
  103.       else if (($a_Type == 'Ext') || ($a_Type == 'ext')) {
  104.         $Layer .= 'var lmap = new OpenLayers.Layer.'.$a_ExtType.'("'.$a_ExtName.'","'.$a_ExtAddress.'",{'.$a_ExtInit.'});';
  105.       }
  106.       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
  107.       $Layer .= 'map.addLayers([lmap, layerOSM_Attr]);';
  108.     }
  109.      
  110.     if ($a_MapControl[0] != 'No'){
  111.       foreach ( $a_MapControl as $MapControl ){
  112.         $MapControl = strtolower($MapControl);
  113.         if ( $MapControl == 'scaleline'){
  114.           $Layer .= 'map.addControl(new OpenLayers.Control.ScaleLine());';
  115.         }
  116.         elseif ($MapControl == 'scale'){
  117.           $Layer .= 'map.addControl(new OpenLayers.Control.Scale());';
  118.         }
  119.         elseif ($MapControl == 'mouseposition'){
  120.           $Layer .= 'map.addControl(new OpenLayers.Control.MousePosition({displayProjection: new OpenLayers.Projection("EPSG:4326")}));';
  121.         }
  122.         // add more if needed!
  123.       }
  124.     }
  125.  
  126.     // add the overview map
  127.     if ($a_OverviewMapZoom >= 0){  
  128.       $Layer .= 'layer_ov = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
  129.       if ($a_OverviewMapZoom > 0 && $a_OverviewMapZoom < 18 ){
  130.         $Layer .= 'var options = {
  131.                      layers: [layer_ov],
  132.                      mapOptions: {numZoomLevels: '.$a_OverviewMapZoom.'}
  133.                      };';
  134.       }
  135.       else{
  136.         $Layer .= 'var options = {layers: [layer_ov]};';
  137.       }
  138.       $Layer .= 'map.addControl(new OpenLayers.Control.OverviewMap(options));';
  139.     }
  140.    
  141.     // http://trac.openlayers.org/changeset/9023
  142.     $Layer .= '    function osm_getTileURL(bounds) {';
  143.     $Layer .= '        var res = this.map.getResolution();';
  144.     $Layer .= '        var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));';
  145.     $Layer .= '        var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));';
  146.     $Layer .= '        var z = this.map.getZoom();';
  147.     $Layer .= '        var limit = Math.pow(2, z);';
  148.  
  149.     $Layer .= '        if (y < 0 || y >= limit) {';
  150.     $Layer .= '            return OpenLayers.Util.getImagesLocation() + "404.png";';
  151.     $Layer .= '        } else {';
  152.     $Layer .= '            x = ((x % limit) + limit) % limit;';
  153.     $Layer .= '            return this.url + z + "/" + x + "/" + y + "." + this.type;';
  154.     $Layer .= '        }';
  155.     $Layer .= '    }';
  156.    
  157.     return $Layer;
  158.   }
  159.  
  160.   function AddClickHandler($a_msgBox)
  161.   {
  162.     Osm::traceText(DEBUG_INFO, "AddClickHandler(".$a_msgBox.")");
  163.     $a_msgBox = strtolower($a_msgBox);
  164.    
  165.     $Layer .= '    function get_radio_value(a_Form){';
  166.     $Layer .= '    if (a_Form == "Markerform"){';
  167.     $Layer .= '      for (var i=0; i < document.Markerform.Art.length; i++){';
  168.     $Layer .= '        if (document.Markerform.Art[i].checked){';
  169.     $Layer .= '          var rad_val = document.Markerform.Art[i].value;';
  170.     $Layer .= '          return rad_val;';
  171.     $Layer .= '        }';
  172.     $Layer .= '      }';
  173.     $Layer .= '      return "undefined";';
  174.     $Layer .= '    }';
  175.     $Layer .= '    else if (a_Form == "GPXcolourform"){';
  176.     $Layer .= '      for (var i=0; i < document.GPXcolourform.Gpx_colour.length; i++){';
  177.     $Layer .= '        if (document.GPXcolourform.Gpx_colour[i].checked){';
  178.     $Layer .= '          var rad_val = document.GPXcolourform.Gpx_colour[i].value;';
  179.     $Layer .= '          return rad_val;';
  180.     $Layer .= '        }';
  181.     $Layer .= '      }';
  182.     $Layer .= '      return "undefined";';
  183.     $Layer .= '    }';    
  184.     $Layer .= '    else if (a_Form == "Bordercolourform"){';
  185.     $Layer .= '      for (var i=0; i < document.Bordercolourform.Border_colour.length; i++){';
  186.     $Layer .= '        if (document.Bordercolourform.Border_colour[i].checked){';
  187.     $Layer .= '          var rad_val = document.Bordercolourform.Border_colour[i].value;';
  188.     $Layer .= '          return rad_val;';
  189.     $Layer .= '        }';
  190.     $Layer .= '      }';
  191.     $Layer .= '      return "undefined";';
  192.     $Layer .= '    }';    
  193.     $Layer .= '    }';
  194.    
  195.     $Layer .= 'OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {';              
  196.     $Layer .= '                     defaultHandlerOptions: {';
  197.     $Layer .= '                         "single": true,';
  198.     $Layer .= '                         "double": false,';
  199.     $Layer .= '                         "pixelTolerance": 0,';
  200.     $Layer .= '                         "stopSingle": false,';
  201.     $Layer .= '                         "stopDouble": false';
  202.     $Layer .= '                     },';
  203.  
  204.     $Layer .= '                     initialize: function(options) {';
  205.     $Layer .= '                         this.handlerOptions = OpenLayers.Util.extend(';
  206.     $Layer .= '                             {}, this.defaultHandlerOptions';
  207.     $Layer .= '                         );';
  208.     $Layer .= '                         OpenLayers.Control.prototype.initialize.apply(';
  209.     $Layer .= '                             this, arguments';
  210.     $Layer .= '                         );';
  211.     $Layer .= '                         this.handler = new OpenLayers.Handler.Click(';
  212.     $Layer .= '                             this, {';
  213.     $Layer .= '                                 "click": this.trigger';
  214.     $Layer .= '                             }, this.handlerOptions';
  215.     $Layer .= '                         );';
  216.     $Layer .= '                     },';
  217.  
  218.     $Layer .= '                     trigger: function(e) {';
  219.     $Layer .= '                     var LayerName =    map.baseLayer.name; ';  
  220.     $Layer .= '                       var Centerlonlat = map.getCenter(e.xy).clone();';
  221.     $Layer .= '                       var Clicklonlat = map.getLonLatFromViewPortPx(e.xy);';
  222.     $Layer .= '                       var zoom = map.getZoom(e.xy);';
  223.     $Layer .= '                     Centerlonlat.transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));';
  224.     $Layer .= '                     Clicklonlat.transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));';
  225.     $Layer .= '                     Centerlonlat.lat = Math.round( Centerlonlat.lat * 1000. ) / 1000.;'; // get the center of the map
  226.     $Layer .= '                     Centerlonlat.lon = Math.round( Centerlonlat.lon * 1000. ) / 1000.;';
  227.     $Layer .= '                     Clicklonlat.lat = Math.round( Clicklonlat.lat * 1000. ) / 1000.;';   // get the position for the marker
  228.     $Layer .= '                     Clicklonlat.lon = Math.round( Clicklonlat.lon * 1000. ) / 1000.;';    
  229.     if ($a_msgBox == 'sc_gen'){  
  230.     $Layer .= ' div = document.getElementById("ShortCode_Div");';
  231.     $Layer .= ' var MarkerName    = get_radio_value("Markerform");';
  232.     $Layer .= ' var GpxColour     = get_radio_value("GPXcolourform");';
  233.     $Layer .= ' var BorderColour  = get_radio_value("Bordercolourform");';
  234.     $Layer .= ' if (MarkerName != "undefined"){';
  235.     $Layer .= '   MarkerField = " marker=\""+Clicklonlat.lat+","+Clicklonlat.lon+
  236. "\" marker_name=\"" + MarkerName + "\"";';  
  237.     $Layer .= '  }';
  238.     $Layer .= '  else{';
  239.     $Layer .= '    MarkerField = "";';
  240.     $Layer .= '  }';
  241.     $Layer .= ' if (document.GPXfileform.GpxFile.value != "http://"){';
  242.     $Layer .= '   GpxFileField = " gpx_file=\""+ document.GPXfileform.GpxFile.value + "\"";';  
  243.     $Layer .= '  }';
  244.     $Layer .= '  else{';
  245.     $Layer .= '    GpxFileField = "";';
  246.     $Layer .= '  }';
  247.     $Layer .= ' if (GpxColour != "undefined"){';
  248.     $Layer .= '   GpxColourField = " gpx_colour=\""+ GpxColour + "\"";';  
  249.     $Layer .= '  }';
  250.     $Layer .= '  else{';
  251.     $Layer .= '    GpxColourField = "";';
  252.     $Layer .= '  }';
  253.     $Layer .= ' if (document.Markerfileform.MarkerFile.value != "http://"){';
  254.     $Layer .= '   MarkerFileField = " marker_file=\""+ document.Markerfileform.MarkerFile.value + "\"";';  
  255.     $Layer .= '  }';
  256.     $Layer .= '  else{';
  257.     $Layer .= '    MarkerFileField = "";';
  258.     $Layer .= '  }';    
  259.    
  260.    
  261.    
  262.     $Layer .= ' if (document.MapControlform.MapControl.checked){';
  263.     $Layer .= '   MapControlField = " control=\""+ document.MapControlform.MapControl.value + "\"";';  
  264.     $Layer .= '  }';
  265.     $Layer .= '  else{';
  266.     $Layer .= '    MapControlField = "";';
  267.     $Layer .= '  }';
  268.    
  269.    
  270.    
  271.     $Layer .= ' if (BorderColour != "undefined"){';
  272.     $Layer .= '   BorderColourField = " map_border=\"thin solid "+ BorderColour + "\"";';  
  273.     $Layer .= '  }';
  274.     $Layer .= '  else{';
  275.     $Layer .= '    BorderColourField = "";';
  276.     $Layer .= '  }';
  277.     $Layer .= ' div.innerHTML = "[osm_map lat=\"" + Centerlonlat.lat + "\" long=\"" + Centerlonlat.lon + "\" zoom=\"" + zoom + "\" width=\"600\" height=\"450\"" + MarkerField + GpxFileField + GpxColourField + BorderColourField + MarkerFileField + MapControlField + " type=\""+LayerName+"\"]";';
  278.     }
  279.     else if( $a_msgBox == 'lat_long'){
  280.      $Layer .= '                      alert("Lat= " + Clicklonlat.lat + " Long= " + Clicklonlat.lon);';  
  281.     }
  282.     $Layer .= '                     }';
  283.     $Layer .= '     ';
  284.     $Layer .= '                 });';
  285.     $Layer .= 'var click = new OpenLayers.Control.Click();';
  286.     $Layer .= 'map.addControl(click);';
  287.     $Layer .= 'click.activate();';
  288.     return $Layer;
  289.   }
  290.  
  291.   function addMarkerListLayer($a_LayerName, $Icon ,$a_MarkerArray, $a_PopUp)
  292.   {
  293.     Osm::traceText(DEBUG_INFO, "addMarkerListLayer(".$a_LayerName.",".$Icon[name].",".$Icon[width].",".$Icon[height].",".$a_MarkerArray.",".$Icon[offset_width].",".$Icon[offset_height].",".$a_PopUp.")");
  294.  
  295.     $Layer .= 'var markers = new OpenLayers.Layer.Markers( "'.$a_LayerName.'" );';
  296.     $Layer .= 'map.addLayer(markers);';
  297.    
  298.     $Layer .= 'var data = {};';
  299.     $Layer .= 'var currentPopup;';
  300.     $Layer .= 'data.icon = new OpenLayers.Icon("'.OSM_PLUGIN_ICONS_URL.$Icon[name].'",';
  301.     $Layer .= '     new OpenLayers.Size('.$Icon[width].','.$Icon[height].'),';
  302.     $Layer .= '     new OpenLayers.Pixel('.$Icon[offset_width].', '.$Icon[offset_height].'));';  
  303.    
  304.     $NumOfMarker = count($a_MarkerArray);
  305.     for ($row = 0; $row < $NumOfMarker; $row++){
  306.       $Layer .= 'var ll = new OpenLayers.LonLat('.$a_MarkerArray[$row][lon].','.$a_MarkerArray[$row][lat].').transform(map.displayProjection,  map.projection);';
  307.       $Layer .= '     var feature = new OpenLayers.Feature(markers, ll, data);';
  308.          
  309.       $Layer .= 'feature.closeBox = true;';
  310.       $Layer .= 'feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {"autoSize": true, minSize: new OpenLayers.Size('.$a_MarkerArray[$row][popup_width].','.$a_MarkerArray[$row][popup_height].'),"keepInMap": true } );';
  311.      
  312.       // add the the backslashes
  313.       $OSM_HTML_TEXT = addslashes($a_MarkerArray[$row][text]);
  314.      
  315.       $Layer .= 'feature.data.popupContentHTML = "'.$OSM_HTML_TEXT.'";';
  316.       $Layer .= 'feature.data.overflow = "hidden";';
  317.  
  318.       $Layer .= 'var marker = new OpenLayers.Marker(ll,data.icon.clone());';
  319.       $Layer .= 'marker.feature = feature;';
  320.    
  321.       $Layer .= 'var markerClick = function(evt) {';
  322.       $Layer .= '  if (this.popup == null) {';
  323.       $Layer .= '    this.popup = this.createPopup(this.closeBox);';
  324.       $Layer .= '    map.addPopup(this.popup);';
  325.       $Layer .= '    this.popup.show();';
  326.       $Layer .= '  } ';
  327.       $Layer .= '  else {';
  328.       $Layer .= '    this.popup.toggle();';
  329.       $Layer .= '  }';
  330.       $Layer .= '  OpenLayers.Event.stop(evt);';
  331.       $Layer .= '};';
  332.       if ($a_PopUp == 'true'){
  333.         $Layer .= 'marker.events.register("mousedown", feature, markerClick);';
  334.       }
  335.       $Layer .= 'markers.addMarker(marker);';
  336.       if ($a_PopUp == 'true'){
  337.         $Layer .= 'map.addPopup(feature.createPopup(feature.closeBox));';   // maybe there is a better way to do
  338.         if ($NumOfMarker > 1){
  339.           $Layer .= 'feature.popup.toggle();';                                // it than create and toggle!
  340.         }
  341.       }
  342.     }
  343.     return $Layer;
  344.   }
  345.    
  346.   function addTextLayer($a_MarkerName, $a_marker_file)
  347.   {
  348.     Osm::traceText(DEBUG_INFO, "addTextLayer(".$a_marker_file.")");  
  349.     $Layer .= 'var pois = new OpenLayers.Layer.Text( "'.$a_MarkerName.'",';
  350.     $Layer .= '        { location:"'.$a_marker_file.'",';
  351.     $Layer .= '          projection: map.displayProjection';
  352.     $Layer .= '        });';
  353.     $Layer .= 'map.addLayer(pois);';
  354.     return $Layer;
  355.   }  
  356.  
  357.   function setMapCenterAndZoom($a_lat, $a_lon, $a_zoom)
  358.   {
  359.     Osm::traceText(DEBUG_INFO, "setMapCenterAndZoom(".$a_lat.",".$a_lon.",".$a_zoom.")");
  360.     $Layer .= 'var lonLat = new OpenLayers.LonLat('.$a_lon.','.$a_lat.').transform(map.displayProjection,  map.projection);';
  361.     $Layer .= 'map.setCenter (lonLat,'.$a_zoom.');'; // Zoomstufe einstellen
  362.     return $Layer;
  363.   }  
  364.      
  365.   // if you miss a MapType, just add it
  366.   function checkMapType($a_type){
  367.     if ($a_type != 'Mapnik' && $a_type != 'Osmarender' && $a_type != 'CycleMap' && $a_type != 'Google' && $a_type != 'All' && $a_type != 'AllGoogle' && $a_type != 'AllOsm' && $a_type != 'ext' && $a_type != 'GooglePhysical' && $a_type != 'GoogleStreet' && $a_type != 'GoogleHybrid' && $a_type != 'GoogleSatellite' && $a_type != 'Google Physical' && $a_type != 'Google Street' && $a_type != 'Google Hybrid' && $a_type != 'Google Satellite'&& $a_type != 'Ext'){
  368.       return "All";
  369.     }
  370.     return $a_type;
  371.   }
  372.  
  373.   // check the num of zoomlevels
  374.   function checkOverviewMapZoomlevels($a_Zoomlevels){
  375.     if ( $a_Zoomlevels > 17){
  376.       Osm::traceText(DEBUG_ERROR, "Zoomlevel out of range!");
  377.       return 0;
  378.     }
  379.     return $a_Zoomlevels;
  380.   }    
  381.  
  382.   function checkControlType($a_MapControl){
  383.     foreach ( $a_MapControl as $MapControl ){
  384.       Osm::traceText(DEBUG_INFO, "Checking the Map Control");
  385.       $MapControl = strtolower($MapControl);
  386.       if (( $MapControl != 'scaleline') && ($MapControl != 'scale') && ($MapControl != 'no') && ($MapControl != 'mouseposition') && ($MapControl != 'off')) {
  387.         Osm::traceText(DEBUG_ERROR, "e_invalid_control");
  388.         $a_MapControl[0]='No';
  389.       }
  390.     }
  391.   return $a_MapControl;
  392.   }
  393.  
  394. }
  395. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement