summaryrefslogtreecommitdiff
path: root/plugins/Mapstraction/MapstractionPlugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Mapstraction/MapstractionPlugin.php')
-rw-r--r--plugins/Mapstraction/MapstractionPlugin.php22
1 files changed, 15 insertions, 7 deletions
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index d5261d8bc..e9e28d78d 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -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));