]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Mapstraction/MapstractionPlugin.php
Mapstraction plugin: use minified sources for OpenLayers
[quix0rs-gnu-social.git] / plugins / Mapstraction / MapstractionPlugin.php
index d5261d8bc7764f833d524462353d0918512f117f..e9e28d78d6c4a7e6df454c28417792513e9a68fc 100644 (file)
@@ -128,8 +128,8 @@ class MapstractionPlugin extends Plugin
             $action->script('http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6');
             break;
         case 'openlayers':
-            // XXX: is this not nice...?
-            $action->script('http://openlayers.org/api/OpenLayers.js');
+            // Use our included stripped & minified OpenLayers.
+            $action->script(common_path('plugins/Mapstraction/OpenLayers/OpenLayers.js'));
             break;
         case 'yahoo':
             $action->script(sprintf('http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=%s',
@@ -140,11 +140,19 @@ class MapstractionPlugin extends Plugin
             return true;
         }
 
-        $action->script(sprintf('%s?(%s)',
-                                common_path('plugins/Mapstraction/js/mxn.js'),
-                                $this->provider));
-
-        $action->script(common_path('plugins/Mapstraction/usermap.js'));
+        if ($this->provider == 'openlayers') {
+            // We have an optimized path for our default case.
+            //
+            // Note that OpenLayers.js needs to be separate, or it won't
+            // be able to find its UI images and styles.
+            $action->script(common_path('plugins/Mapstraction/usermap-mxn-openlayers.min.js'));
+        } else {
+            $action->script(sprintf('%s?(%s)',
+                                    common_path('plugins/Mapstraction/js/mxn.js'),
+                                    $this->provider));
+
+            $action->script(common_path('plugins/Mapstraction/usermap.js'));
+        }
 
         $action->inlineScript(sprintf('var _provider = "%s";', $this->provider));