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-Plug-in von MiKa. An den letzten Abenden hatte ich Google immer wieder mit diversen Fragen bombardiert hatte, ohne etwas Brauchbares zu finden. Mein Problem ist aber offensichtlich schon, dass ich nicht genau weiß, wonach ich suchen soll, denn so ganz klar war mir nicht, wo das Problem lag. Nachdem ich Google wahrscheinlich schon mehrfach leer gefragt 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-Plug-in 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 Karten weiterhin, in denen man explizit einen bestimmten (anderen) Layer festgelegt hatte. Also z. B. nur „Mapnik“ oder „CycleMap“ usw., allerdings benutze ich den Parameter „type“ selten.

Ach ja – und seit ich weiß, wonach ich 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:
Wirklich 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: