Merge pull request #328 from fredj/multimap-tests

Remove the OpenLayers.Layer.MultiMap class as the MultiMap service was discontinued.
This commit is contained in:
Frédéric Junod
2012-03-19 01:21:34 -07:00
4 changed files with 8 additions and 400 deletions

View File

@@ -2930,282 +2930,6 @@ OpenLayers.Layer.WFS = OpenLayers.Class(
CLASS_NAME: "OpenLayers.Layer.WFS"
});
/**
* Class: OpenLayers.Layer.MultiMap
* Note that MultiMap does not fully support the sphericalMercator
* option. See Ticket #953 for more details.
* *Deprecated*. Use OpenLayers.Layer.Bing instead. See #3063
*
* Inherits from:
* - <OpenLayers.Layer.EventPane>
* - <OpenLayers.Layer.FixedZoomLevels>
*/
OpenLayers.Layer.MultiMap = OpenLayers.Class(
OpenLayers.Layer.EventPane, OpenLayers.Layer.FixedZoomLevels, {
/**
* Constant: MIN_ZOOM_LEVEL
* {Integer} 1
*/
MIN_ZOOM_LEVEL: 1,
/**
* Constant: MAX_ZOOM_LEVEL
* {Integer} 17
*/
MAX_ZOOM_LEVEL: 17,
/**
* Constant: RESOLUTIONS
* {Array(Float)} Hardcode these resolutions so that they are more closely
* tied with the standard wms projection
*/
RESOLUTIONS: [
9,
1.40625,
0.703125,
0.3515625,
0.17578125,
0.087890625,
0.0439453125,
0.02197265625,
0.010986328125,
0.0054931640625,
0.00274658203125,
0.001373291015625,
0.0006866455078125,
0.00034332275390625,
0.000171661376953125,
0.0000858306884765625,
0.00004291534423828125
],
/**
* APIProperty: type
* {?}
*/
type: null,
/**
* Constructor: OpenLayers.Layer.MultiMap
*
* Parameters:
* name - {String}
* options - {Object}
*/
initialize: function(name, options) {
OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments);
OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,
arguments);
if (this.sphericalMercator) {
OpenLayers.Util.extend(this, OpenLayers.Layer.SphericalMercator);
this.initMercatorParameters();
this.RESOLUTIONS.unshift(10);
}
},
/**
* Method: loadMapObject
*/
loadMapObject:function() {
try { //crash proofing
this.mapObject = new MultimapViewer(this.div);
} catch (e) { }
},
/**
* APIMethod: getWarningHTML
*
* Returns:
* {String} String with information on why layer is broken, how to get
* it working.
*/
getWarningHTML:function() {
return OpenLayers.i18n(
"getLayerWarning", {'layerType':"MM", 'layerLib':"MultiMap"}
);
},
/************************************
* *
* MapObject Interface Controls *
* *
************************************/
// Get&Set Center, Zoom
/**
* APIMethod: setMapObjectCenter
* Set the mapObject to the specified center and zoom
*
* Parameters:
* center - {Object} MapObject LonLat format
* zoom - {int} MapObject zoom format
*/
setMapObjectCenter: function(center, zoom) {
this.mapObject.goToPosition(center, zoom);
},
/**
* APIMethod: getMapObjectCenter
*
* Returns:
* {Object} The mapObject's current center in Map Object format
*/
getMapObjectCenter: function() {
return this.mapObject.getCurrentPosition();
},
/**
* APIMethod: getMapObjectZoom
*
* Returns:
* {Integer} The mapObject's current zoom, in Map Object format
*/
getMapObjectZoom: function() {
return this.mapObject.getZoomFactor();
},
// LonLat - Pixel Translation
/**
* APIMethod: getMapObjectLonLatFromMapObjectPixel
*
* Parameters:
* moPixel - {Object} MapObject Pixel format
*
* Returns:
* {Object} MapObject LonLat translated from MapObject Pixel
*/
getMapObjectLonLatFromMapObjectPixel: function(moPixel) {
moPixel.x = moPixel.x - (this.map.getSize().w/2);
moPixel.y = moPixel.y - (this.map.getSize().h/2);
return this.mapObject.getMapPositionAt(moPixel);
},
/**
* APIMethod: getMapObjectPixelFromMapObjectLonLat
*
* Parameters:
* moLonLat - {Object} MapObject LonLat format
*
* Returns:
* {Object} MapObject Pixel transtlated from MapObject LonLat
*/
getMapObjectPixelFromMapObjectLonLat: function(moLonLat) {
return this.mapObject.geoPosToContainerPixels(moLonLat);
},
/************************************
* *
* MapObject Primitives *
* *
************************************/
// LonLat
/**
* APIMethod: getLongitudeFromMapObjectLonLat
*
* Parameters:
* moLonLat - {Object} MapObject LonLat format
*
* Returns:
* {Float} Longitude of the given MapObject LonLat
*/
getLongitudeFromMapObjectLonLat: function(moLonLat) {
return this.sphericalMercator ?
this.forwardMercator(moLonLat.lon, moLonLat.lat).lon :
moLonLat.lon;
},
/**
* APIMethod: getLatitudeFromMapObjectLonLat
*
* Parameters:
* moLonLat - {Object} MapObject LonLat format
*
* Returns:
* {Float} Latitude of the given MapObject LonLat
*/
getLatitudeFromMapObjectLonLat: function(moLonLat) {
return this.sphericalMercator ?
this.forwardMercator(moLonLat.lon, moLonLat.lat).lat :
moLonLat.lat;
},
/**
* APIMethod: getMapObjectLonLatFromLonLat
*
* Parameters:
* lon - {Float}
* lat - {Float}
*
* Returns:
* {Object} MapObject LonLat built from lon and lat params
*/
getMapObjectLonLatFromLonLat: function(lon, lat) {
var mmLatLon;
if(this.sphericalMercator) {
var lonlat = this.inverseMercator(lon, lat);
mmLatLon = new MMLatLon(lonlat.lat, lonlat.lon);
} else {
mmLatLon = new MMLatLon(lat, lon);
}
return mmLatLon;
},
// Pixel
/**
* APIMethod: getXFromMapObjectPixel
*
* Parameters:
* moPixel - {Object} MapObject Pixel format
*
* Returns:
* {Integer} X value of the MapObject Pixel
*/
getXFromMapObjectPixel: function(moPixel) {
return moPixel.x;
},
/**
* APIMethod: getYFromMapObjectPixel
*
* Parameters:
* moPixel - {Object} MapObject Pixel format
*
* Returns:
* {Integer} Y value of the MapObject Pixel
*/
getYFromMapObjectPixel: function(moPixel) {
return moPixel.y;
},
/**
* APIMethod: getMapObjectPixelFromXY
*
* Parameters:
* x - {Integer}
* y - {Integer}
*
* Returns:
* {Object} MapObject Pixel from x and y parameters
*/
getMapObjectPixelFromXY: function(x, y) {
return new MMPoint(x, y);
},
CLASS_NAME: "OpenLayers.Layer.MultiMap"
});
/**
* Class: OpenLayers.Layer.VirtualEarth
* *Deprecated*. Use <OpenLayers.Layer.Bing> instead.

View File

@@ -138,6 +138,14 @@ Corresponding issues/pull requests:
# Behavior Changes from Past Releases
## MultiMap Layer Removal
The `OpenLayers.Layer.MultiMap` class has been removed entirely, as the MultiMap service was discontinued.
Corresponding issues/pull requests:
* https://github.com/openlayers/openlayers/pull/328
## GPX API change
The `gpxns` API property has been removed. The GPX namespace is now defined in the `namespaces` property but is not intended to be overriden.
@@ -321,7 +329,6 @@ A number of properties, methods, and constructors have been marked as deprecated
* OpenLayers.Tile.WFS
* OpenLayers.Feature.WFS
* OpenLayers.Layer.WFS
* OpenLayers.Layer.MultiMap
* OpenLayers.Layer.VirtualEarth
* OpenLayers.Protocol.SQL
* OpenLayers.Protocol.SQL.Gears

View File

@@ -1,122 +0,0 @@
<html>
<head>
<!-- multimap api key for http://(www.)openlayers.org -->
<script type="text/javascript" src="http://developer.multimap.com/API/maps/1.2/OA10072915821139765"></script>
<script src="../../OLLoader.js"></script>
<script src="../../../lib/deprecated.js"></script>
<script type="text/javascript">
var doTest = true;
function test_Layer_MultiMap_constructor (t) {
// WebKit browsers fail when the API key is for a different url, so we
// do not test in this case.
try {
var map = new OpenLayers.Map("map");
var layer = new OpenLayers.Layer.MultiMap('MultiMap Layer');
map.addLayer(layer);
}
catch(e) {
doTest = false;
}
if (!doTest) { t.plan(0); return; }
t.plan( 4 );
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.MultiMap('MultiMap Layer');
map.addLayer(layer);
t.ok( layer instanceof OpenLayers.Layer.MultiMap, "new OpenLayers.Layer.MultiMap returns object" );
t.eq( layer.CLASS_NAME, "OpenLayers.Layer.MultiMap", "CLASS_NAME variable set correctly");
t.eq( layer.name, "MultiMap Layer", "layer.name is correct" );
t.ok ( layer.mapObject != null, "MultiMap Object correctly loaded");
}
function test_Layer_MultiMap_isBaseLayer (t) {
if (!doTest) { t.plan(0); return; }
t.plan(1);
var layer = new OpenLayers.Layer.MultiMap('MultiMap Layer');
t.ok(layer.isBaseLayer, "a default load of multimap layer responds as a base layer");
}
function test_Layer_MultiMap_Translation_lonlat (t) {
if (!doTest) { t.plan(0); return; }
t.plan( 4 );
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.MultiMap('MultiMap Layer');
map.addLayer(layer);
// these two lines specify an appropriate translation.
// the code afterwards works by itself to test that translation
// works correctly both ways.
var gLatLng = new MMLatLon(50,100);
var correspondingOLLonLat = new OpenLayers.LonLat(100,50);
olLonLat = layer.getOLLonLatFromMapObjectLonLat(gLatLng);
t.ok(olLonLat.equals(correspondingOLLonLat), "Translation from GLatLng to OpenLayers.LonLat works");
var transGLatLng = layer.getMapObjectLonLatFromOLLonLat(olLonLat);
t.ok( (transGLatLng.lat == gLatLng.lat) && (transGLatLng.lon == transGLatLng.lon), "Translation from OpenLayers.LonLat to GLatLng works");
t.ok( layer.getMapObjectLonLatFromOLLonLat(null) == null, "getGLatLngFromOLLonLat(null) returns null");
t.ok( layer.getOLLonLatFromMapObjectLonLat(null) == null, "getOLLonLatFromGLatLng(null) returns null");
}
function test_Layer_MultiMap_Translation_pixel (t) {
if (!doTest) { t.plan(0); return; }
t.plan( 4 );
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.MultiMap('MultiMap Layer');
map.addLayer(layer);
// these two lines specify an appropriate translation.
// the code afterwards works by itself to test that translation
// works correctly both ways.
var gPoint = new MMPoint(50,100);
var correspondingOLPixel = new OpenLayers.Pixel(50, 100);
olPixel = layer.getOLPixelFromMapObjectPixel(gPoint);
t.ok( olPixel.equals(correspondingOLPixel), "Translation from GPoint to OpenLayers.Pixel works");
var transGPoint = layer.getMapObjectPixelFromOLPixel(olPixel);
t.ok( ((transGPoint.x == transGPoint.x) && (transGPoint.y == transGPoint.y)), "Translation from OpenLayers.Pixel to GPoint works");
t.ok( layer.getMapObjectPixelFromOLPixel(null) == null, "getGPointFromOLPixel(null) returns null");
t.ok( layer.getOLPixelFromMapObjectPixel(null) == null, "getOLPixelFromGPoint(null) returns null");
}
function test_Layer_destroy (t) {
if (!doTest) { t.plan(0); return; }
t.plan( 5 );
var map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.MultiMap('Test Layer');
map.addLayer(layer);
layer.destroy();
t.eq( layer.name, null, "layer.name is null after destroy" );
t.eq( layer.div, null, "layer.div is null after destroy" );
t.eq( layer.map, null, "layer.map is null after destroy" );
t.eq( layer.options, null, "layer.options is null after destroy" );
t.eq( layer.multimap, null, "layer.gmap is null after destroy" );
}
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>

View File

@@ -238,7 +238,6 @@
<li>deprecated/Layer/GML.html</li>
<li>deprecated/Layer/MapServer.html</li>
<li>deprecated/Layer/MapServer/Untiled.html</li>
<li>deprecated/Layer/MultiMap.html</li>
<li>deprecated/Layer/WFS.html</li>
<li>deprecated/Layer/WMS.html</li>
<li>deprecated/Layer/WMS/Post.html</li>