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:
@@ -2930,282 +2930,6 @@ OpenLayers.Layer.WFS = OpenLayers.Class(
|
|||||||
CLASS_NAME: "OpenLayers.Layer.WFS"
|
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
|
* Class: OpenLayers.Layer.VirtualEarth
|
||||||
* *Deprecated*. Use <OpenLayers.Layer.Bing> instead.
|
* *Deprecated*. Use <OpenLayers.Layer.Bing> instead.
|
||||||
|
|||||||
@@ -138,6 +138,14 @@ Corresponding issues/pull requests:
|
|||||||
|
|
||||||
# Behavior Changes from Past Releases
|
# 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
|
## 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.
|
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.Tile.WFS
|
||||||
* OpenLayers.Feature.WFS
|
* OpenLayers.Feature.WFS
|
||||||
* OpenLayers.Layer.WFS
|
* OpenLayers.Layer.WFS
|
||||||
* OpenLayers.Layer.MultiMap
|
|
||||||
* OpenLayers.Layer.VirtualEarth
|
* OpenLayers.Layer.VirtualEarth
|
||||||
* OpenLayers.Protocol.SQL
|
* OpenLayers.Protocol.SQL
|
||||||
* OpenLayers.Protocol.SQL.Gears
|
* OpenLayers.Protocol.SQL.Gears
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -238,7 +238,6 @@
|
|||||||
<li>deprecated/Layer/GML.html</li>
|
<li>deprecated/Layer/GML.html</li>
|
||||||
<li>deprecated/Layer/MapServer.html</li>
|
<li>deprecated/Layer/MapServer.html</li>
|
||||||
<li>deprecated/Layer/MapServer/Untiled.html</li>
|
<li>deprecated/Layer/MapServer/Untiled.html</li>
|
||||||
<li>deprecated/Layer/MultiMap.html</li>
|
|
||||||
<li>deprecated/Layer/WFS.html</li>
|
<li>deprecated/Layer/WFS.html</li>
|
||||||
<li>deprecated/Layer/WMS.html</li>
|
<li>deprecated/Layer/WMS.html</li>
|
||||||
<li>deprecated/Layer/WMS/Post.html</li>
|
<li>deprecated/Layer/WMS/Post.html</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user