urlencode($this->apikey)));
break;
case 'microsoft':
- $action->script('http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6');
+ $action->script((StatusNet::isHTTPS()?'https':'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($this->path('OpenLayers/OpenLayers.js'));
break;
case 'yahoo':
$action->script(sprintf('http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=%s',
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($this->path('usermap-mxn-openlayers.min.js'));
+ } else {
+ $action->script(sprintf('%s?(%s)',
+ $this->path('js/mxn.js'),
+ $this->provider));
+
+ $action->script($this->path('usermap.js'));
+ }
$action->inlineScript(sprintf('var _provider = "%s";', $this->provider));