support more layers, also support leaflet permalinks (so the noscript-replacement...
[osmrrze.git] / cgis / osm-map.pl
index 602efcdec5db406e2ccb6c77aeb1a3f8a3c6f297..b5157dc902347a82b5e1d74cfc002af88c7af304 100755 (executable)
@@ -5,6 +5,9 @@
 # The file from which we get the Template for Openlayers?
 $openlayerstemplate = '/var/www/index.openlayers.html';
 
+# The file from which we get the Template for Openlayers?
+$leaflettemplate = '/var/www/index.leaflet.html';
+
 # Your should not need to change anything below this line
 # ----------------------------------------------------------------------------
 
@@ -44,7 +47,8 @@ if (defined(param('zoom'))) {
   if (($zoom < 0) || ($zoom > 30)) { $lat = -1; }
 }
 if (defined(param('layers'))) {
-  my @layerlist = ('osmde', 'osmorg');
+  # Mapping for Openlayers Permalinks
+  my @layerlist = ('osmde', 'osmorg', 'osmorglowzoom', 'luftbilderl');
   my $layers = param('layers');
   my $i;
   for ($i = 0; $i < int(@layerlist); $i++) {
@@ -53,13 +57,25 @@ if (defined(param('layers'))) {
     }
   }
 }
+if (defined(param('layer'))) {
+  # Mapping for Leaflet Permalinks
+  my $layers = param('layer');
+  if ($layers eq 'RRZE tileserver osm.de style tiles') { $baselayer = 'osmde'; }
+  if ($layers eq 'RRZE tileserver osm.org style tiles') { $baselayer = 'osmorg'; }
+  if ($layers eq 'RRZE tileserver osm.org style with different lowzoom tiles') { $baselayer = 'osmorglowzoom'; }
+  if ($layers eq 'Luftbild Erlangen') { $baselayer = 'luftbilderl'; }
+}
 # If mlon/mlat is defined but lon/lat isn't, use mlat/mlon as center pos.
 if (($lon == -999.0) && ($lat == -999.0)) {
   if ($mlat != -999.0) { $lat = $mlat; }
   if ($mlon != -999.0) { $lon = $mlon; }
 }
+$mytemplate = $openlayerstemplate; # Openlayers
+if ($0 =~ m/-leaflet/) {
+  $mytemplate = $leaflettemplate; # leaflet
+}
 my $OLF;
-unless (open($OLF, '<' . $openlayerstemplate)) {
+unless (open($OLF, '<' . $mytemplate)) {
   print("Sorry, failed to read my map template.\n"); exit(0);
 }
 while ($ll = <$OLF>) {
This page took 0.050536 seconds and 4 git commands to generate.