Seit ein paar Tagen funktionieren alle bei mir im Blog eingebetteten OSM/OpenLayer-Karten nicht mehr. Ich benutze dafür schon ewig das wp-osm-Plugin von MiKa. Nachdem ich nun an den letzten Abenden Google immer wieder mit diversen Fragen bombardiert hatte, – aber wonach soll man suchen, so ganz klar war mir nicht wo das Problem lag -, und (Google) wahrscheinlich schon mehrfach leer gegooglet hatte, kam ich heute mal auf die Idee, im OSM-Blog nachzufragen, ob das Problem bekannt sei. – Und siehe da, dort erhielt ich auch prompt eine Antwort:

Kommentar von lyx am 14. März 2012

Die Karten funktionieren nicht, weil sie versuchen, den nicht mehr vorhandenen Osmarender-Layer zu initialisieren.

Tatsächlich funktionierte in meinem WordPress das gute osm-Plugin sofort wieder, nachdem ich in der OpenLayer-Initialisierung alle ‚Osmarender‚-Einträge und natürlich auch den zugehörigen Layer ‚layerTah‚ entfernt hatte. :

# cd ./wordpress/wp-content/plugins/osm
# diff -Natu osm-openlayers.php.old osm-openlayers.php 
 
 
--- osm-openlayers.php.old      2012-02-27 18:40:14.000000000 +0100
+++ osm-openlayers.php  2012-03-14 18:27:47.000000000 +0100
@@ -64,22 +64,22 @@
     $Layer .= '      } );';
     if ($a_Type == 'All'){
       $Layer .= 'var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
-      $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
+//      $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
       $Layer .= 'var layerCycle  = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
       $Layer .= 'var layerGooglePhysical   = new OpenLayers.Layer.Google("Google Physical", {type: google.maps.MapTypeId.TERRAIN} );';
       $Layer .= 'var layerGoogleStreet     = new OpenLayers.Layer.Google("Google Street", {type: google.maps.MapTypeId.ROADMAP} );';
       $Layer .= 'var layerGoogleHybrid     = new OpenLayers.Layer.Google("Google Hybrid", {type: google.maps.MapTypeId.HYBRID} );';
       $Layer .= 'var layerGoogleSatellite  = new OpenLayers.Layer.Google("Google Satellite", {type: google.maps.MapTypeId.SATELLITE} );';
       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
-      $Layer .= 'map.addLayers([layerMapnik, layerTah, layerCycle, layerGooglePhysical, layerGoogleStreet, layerGoogleHybrid, layerGoogleSatellite, layerOSM_Attr]);';
+      $Layer .= 'map.addLayers([layerMapnik, layerCycle, layerGooglePhysical, layerGoogleStreet, layerGoogleHybrid, layerGoogleSatellite, layerOSM_Attr]);';
       $Layer .= 'map.addControl(new OpenLayers.Control.LayerSwitcher());';
     }
     else if ($a_Type == 'AllOsm'){
       $Layer .= 'var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
-      $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
+//      $Layer .= 'var layerTah    = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
       $Layer .= 'var layerCycle  = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
       $Layer .= 'var layerOSM_Attr = new OpenLayers.Layer.Vector("OSM-plugin",{attribution:"<a href=\"http://www.Fotomobil.at/wp-osm-plugin\">OSM plugin</a>"});';
-      $Layer .= 'map.addLayers([layerMapnik, layerTah, layerCycle, layerOSM_Attr]);';
+      $Layer .= 'map.addLayers([layerMapnik, layerCycle, layerOSM_Attr]);';
       $Layer .= 'map.addControl(new OpenLayers.Control.LayerSwitcher());';
 
 
@@ -97,9 +97,6 @@
       if ($a_Type == 'Mapnik'){
         $Layer .= 'var lmap = new OpenLayers.Layer.OSM.Mapnik("Mapnik");';
       } 
-      else if ($a_Type == 'Osmarender'){
-        $Layer .= 'var lmap = new OpenLayers.Layer.OSM.Osmarender("Osmarender");';
-      } 
       else if ($a_Type == 'CycleMap'){
         $Layer .= 'var lmap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");';
       }
@@ -441,7 +438,7 @@
 
   // if you miss a MapType, just add it
   function checkMapType($a_type){
-    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'){
+    if ($a_type != 'Mapnik' && $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'){
       return "All";
     }
     return $a_type;
 
# diff -Natu osm.php.old osm.php
 
 
 
--- osm.php.old 2012-02-27 18:40:14.000000000 +0100
+++ osm.php     2012-03-14 18:22:28.000000000 +0100
@@ -546,7 +546,7 @@
                 'lat'       => '', 'long'  => '',    
     // the zoomlevel of the map 
     'zoom'      => '7',     
-    // Osmarender, Mapnik, CycleMap, ...           
+    // Mapnik, CycleMap, ...           
     'type'      => 'AllOsm',
     // track info
     'gpx_file'  => 'NoFile',           // 'absolut address'          
@@ -689,7 +689,7 @@
           define (OL_LIBS_LOADED, 1);
         }
 
-        if ($type == 'Mapnik' || $type == 'Osmarender' || $type == 'CycleMap' || $type == 'All' || $type == 'AllOsm' || $type == 'Ext'){
+        if ($type == 'Mapnik' || $type == 'CycleMap' || $type == 'All' || $type == 'AllOsm' || $type == 'Ext'){
                 if (OSM_LIBS_LOADED == 0) {
             $output .= '<script type="text/javascript" src="'.Osm_OSM_LibraryLocation.'"></script>';
             define (OSM_LIBS_LOADED, 1);
@@ -905,7 +905,7 @@
           define (OL_LIBS_LOADED, 1);
         }
 
-        if ($type == 'Mapnik' || $type == 'Osmarender' || $type == 'CycleMap' || $type == 'All' || $type == 'AllOsm' || $type == 'Ext'){
+        if ($type == 'Mapnik' || $type == 'CycleMap' || $type == 'All' || $type == 'AllOsm' || $type == 'Ext'){
                 if (OSM_LIBS_LOADED == 0) {
             $output .= '<script type="text/javascript" src="'.Osm_OSM_LibraryLocation.'"></script>';
             define (OSM_LIBS_LOADED, 1);

Ich habe jetzt nicht ausprobiert, ob vorher wirklich alle Karten nicht funktionierten. Wahrscheinlich funktionierten die, in denen man explizit einen bestimmten (anderen) Layer festgelegt hatte, noch ganz gut. Also z.B. nur ‚Mapnik‘ oder ‚CycleMap‘ usw., allerdings benutze ich den Parameter ‚type‘ nur sehr selten.

Ach ja – und wo man ja nun weiß wonach man suchen muss, findet man auch tatsächlich ein paar Treffer auf Google. ANNOUNCEMENT: T at H server will go away end of February. :shock: – Sorry, das habe ich glatt überlesen. :roll:

Nachtrag:
Tatsächlich sieht man in der Firefox-Fehlerkonsole (Aufruf mit [Shift][Strg][F] oder im Menü unter ‚Extras‘ | ‚Web Developer‘ | ‚Extras‘ | ‚Fehler-Konsole‘ – Aktuell muss man die ‚Web-Developer-Symbolleiste‘ aktivieren | Menü: ‚Werkzeuge‘ | Menüpunkt: ‚Fehler-Konsole‘) eine eindeutige Fehlermeldung. :Oops: