Compare commits
13 Commits
release-2.
...
release-2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4a4090814 | ||
|
|
49dd5a4fd8 | ||
|
|
d020e8f666 | ||
|
|
c8d4105d23 | ||
|
|
d60d1e5789 | ||
|
|
afaee6880d | ||
|
|
cc69b73dcf | ||
|
|
fe0ffbf56e | ||
|
|
f4f72d5eeb | ||
|
|
1c21d9cc15 | ||
|
|
4d52d4aeb5 | ||
|
|
1e94821042 | ||
|
|
8cccbfb189 |
@@ -1,6 +1,5 @@
|
||||
var map = new OpenLayers.Map({
|
||||
div: "map",
|
||||
tileManager: new OpenLayers.TileManager(),
|
||||
layers: [
|
||||
new OpenLayers.Layer.OSM("OSM (without buffer)"),
|
||||
new OpenLayers.Layer.OSM("OSM (with buffer)", null, {buffer: 2})
|
||||
|
||||
@@ -42,7 +42,6 @@ var init = function (onSelectFeatureFunction) {
|
||||
theme: null,
|
||||
projection: sm,
|
||||
numZoomLevels: 18,
|
||||
tileManager: new OpenLayers.TileManager(),
|
||||
controls: [
|
||||
new OpenLayers.Control.Attribution(),
|
||||
new OpenLayers.Control.TouchNavigation({
|
||||
|
||||
@@ -102,7 +102,6 @@ var map;
|
||||
units: "m",
|
||||
maxResolution: 38.21851413574219,
|
||||
numZoomLevels: 8,
|
||||
tileManager: new OpenLayers.TileManager(),
|
||||
controls: [
|
||||
new OpenLayers.Control.Navigation(),
|
||||
new OpenLayers.Control.Attribution(),
|
||||
|
||||
@@ -426,4 +426,4 @@
|
||||
* When asking questions or reporting issues, make sure to include the output of
|
||||
* OpenLayers.VERSION_NUMBER in the question or issue-description.
|
||||
*/
|
||||
OpenLayers.VERSION_NUMBER="Release 2.13-rc5";
|
||||
OpenLayers.VERSION_NUMBER="Release 2.13.1";
|
||||
|
||||
@@ -32,11 +32,12 @@ OpenLayers.Control.DragPan = OpenLayers.Class(OpenLayers.Control, {
|
||||
/**
|
||||
* Property: interval
|
||||
* {Integer} The number of milliseconds that should ellapse before
|
||||
* panning the map again. Defaults to 1 millisecond. In most cases
|
||||
* you won't want to change this value. For slow machines/devices
|
||||
* larger values can be tried out.
|
||||
* panning the map again. Defaults to 0 milliseconds, which means that
|
||||
* no separate cycle is used for panning. In most cases you won't want
|
||||
* to change this value. For slow machines/devices larger values can be
|
||||
* tried out.
|
||||
*/
|
||||
interval: 1,
|
||||
interval: 0,
|
||||
|
||||
/**
|
||||
* APIProperty: documentDrag
|
||||
|
||||
@@ -101,14 +101,18 @@ OpenLayers.Control.ZoomBox = OpenLayers.Class(OpenLayers.Control, {
|
||||
centerPx = {x: size.w / 2, y: size.h / 2},
|
||||
zoom = this.map.getZoomForExtent(bounds),
|
||||
oldRes = this.map.getResolution(),
|
||||
newRes = this.map.getResolutionForZoom(zoom),
|
||||
zoomOriginPx = {
|
||||
newRes = this.map.getResolutionForZoom(zoom);
|
||||
if (oldRes == newRes) {
|
||||
this.map.setCenter(this.map.getLonLatFromPixel(targetCenterPx));
|
||||
} else {
|
||||
var zoomOriginPx = {
|
||||
x: (oldRes * targetCenterPx.x - newRes * centerPx.x) /
|
||||
(oldRes - newRes),
|
||||
y: (oldRes * targetCenterPx.y - newRes * centerPx.y) /
|
||||
(oldRes - newRes)
|
||||
};
|
||||
this.map.zoomTo(zoom, zoomOriginPx);
|
||||
this.map.zoomTo(zoom, zoomOriginPx);
|
||||
}
|
||||
if (lastZoom == this.map.getZoom() && this.alwaysZoom == true){
|
||||
this.map.zoomTo(lastZoom + (this.out ? -1 : 1));
|
||||
}
|
||||
|
||||
@@ -743,6 +743,12 @@ OpenLayers.Layer = OpenLayers.Class({
|
||||
this.visibility = visibility;
|
||||
this.display(visibility);
|
||||
this.redraw();
|
||||
if (this.map != null) {
|
||||
this.map.events.triggerEvent("changelayer", {
|
||||
layer: this,
|
||||
property: "visibility"
|
||||
});
|
||||
}
|
||||
this.events.triggerEvent("visibilitychanged");
|
||||
}
|
||||
},
|
||||
@@ -759,11 +765,6 @@ OpenLayers.Layer = OpenLayers.Class({
|
||||
display: function(display) {
|
||||
if (display != (this.div.style.display != "none")) {
|
||||
this.div.style.display = (display && this.calculateInRange()) ? "block" : "none";
|
||||
if(this.map){
|
||||
this.map.events.triggerEvent("changelayer", {
|
||||
layer: this, property: "visibility"
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -372,15 +372,16 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
* property at the time the control is added to the map.
|
||||
*/
|
||||
displayProjection: null,
|
||||
|
||||
|
||||
/**
|
||||
* APIProperty: tileManager
|
||||
* {<OpenLayers.TileManager>} If configured at construction time, the map
|
||||
* will use the TileManager to queue image requests and to cache tile image
|
||||
* elements. Note: make sure that OpenLayers/TileManager.js is included in
|
||||
* your build profile.
|
||||
* {<OpenLayers.TileManager>|Object} By default, and if the build contains
|
||||
* TileManager.js, the map will use the TileManager to queue image requests
|
||||
* and to cache tile image elements. To create a map without a TileManager
|
||||
* configure the map with tileManager: null. To create a TileManager with
|
||||
* non-default options, supply the options instead or alternatively supply
|
||||
* an instance of {<OpenLayers.TileManager>}.
|
||||
*/
|
||||
tileManager: null,
|
||||
|
||||
/**
|
||||
* APIProperty: fallThrough
|
||||
@@ -613,7 +614,10 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
{includeXY: true}
|
||||
);
|
||||
|
||||
if (this.tileManager) {
|
||||
if (OpenLayers.TileManager && this.tileManager !== null) {
|
||||
if (!(this.tileManager instanceof OpenLayers.TileManager)) {
|
||||
this.tileManager = new OpenLayers.TileManager(this.tileManager);
|
||||
}
|
||||
this.tileManager.addMap(this);
|
||||
}
|
||||
|
||||
@@ -2034,7 +2038,9 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
if (!inRange) {
|
||||
layer.display(false);
|
||||
}
|
||||
|
||||
this.events.triggerEvent("changelayer", {
|
||||
layer: layer, property: "visibility"
|
||||
});
|
||||
}
|
||||
if (inRange && layer.visibility) {
|
||||
layer.moveTo(bounds, zoomChanged, options.dragging);
|
||||
|
||||
@@ -7,7 +7,7 @@ var OpenLayers = {
|
||||
/**
|
||||
* Constant: VERSION_NUMBER
|
||||
*/
|
||||
VERSION_NUMBER: "Release 2.13-rc5",
|
||||
VERSION_NUMBER: "Release 2.13.1",
|
||||
|
||||
/**
|
||||
* Constant: singleFile
|
||||
|
||||
@@ -314,11 +314,17 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, {
|
||||
* Creates the content for the frame on the tile.
|
||||
*/
|
||||
initImage: function() {
|
||||
if (!this.url && !this.imgDiv) {
|
||||
// fast path out - if there is no tile url and no previous image
|
||||
this.isLoading = false;
|
||||
return;
|
||||
}
|
||||
this.events.triggerEvent('beforeload');
|
||||
this.layer.div.appendChild(this.getTile());
|
||||
this.events.triggerEvent(this._loadEvent);
|
||||
var img = this.getImage();
|
||||
if (this.url && OpenLayers.Util.isEquivalentUrl(img.src, this.url)) {
|
||||
var src = img.getAttribute('src') || '';
|
||||
if (this.url && OpenLayers.Util.isEquivalentUrl(src, this.url)) {
|
||||
this._loadTimeout = window.setTimeout(
|
||||
OpenLayers.Function.bind(this.onImageLoad, this), 0
|
||||
);
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Layer/Grid.js
|
||||
* @requires OpenLayers/Util.js
|
||||
* @requires OpenLayers/BaseTypes.js
|
||||
* @requires OpenLayers/BaseTypes/Element.js
|
||||
* @requires OpenLayers/Layer/Grid.js
|
||||
* @requires OpenLayers/Tile/Image.js
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -117,7 +118,7 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
* map - {<OpenLayers.Map>}
|
||||
*/
|
||||
addMap: function(map) {
|
||||
if (this._destroyed) {
|
||||
if (this._destroyed || !OpenLayers.Layer.Grid) {
|
||||
return;
|
||||
}
|
||||
this.maps.push(map);
|
||||
@@ -143,7 +144,7 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
* map - {<OpenLayers.Map>}
|
||||
*/
|
||||
removeMap: function(map) {
|
||||
if (this._destroyed) {
|
||||
if (this._destroyed || !OpenLayers.Layer.Grid) {
|
||||
return;
|
||||
}
|
||||
window.clearTimeout(this.tileQueueId[map.id]);
|
||||
@@ -222,7 +223,7 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
for (j=layer.grid[i].length-1; j>=0; --j) {
|
||||
tile = layer.grid[i][j];
|
||||
this.addTile({tile: tile});
|
||||
if (tile.url) {
|
||||
if (tile.url && !tile.imgDiv) {
|
||||
this.manageTileCache({object: tile});
|
||||
}
|
||||
}
|
||||
@@ -254,9 +255,6 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
for (j=layer.grid[i].length-1; j>=0; --j) {
|
||||
tile = layer.grid[i][j];
|
||||
this.unloadTile({object: tile});
|
||||
if (tile.url) {
|
||||
this.manageTileCache({object: tile});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -301,13 +299,18 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
* evt - {Object} The listener argument
|
||||
*/
|
||||
addTile: function(evt) {
|
||||
evt.tile.events.on({
|
||||
beforedraw: this.queueTileDraw,
|
||||
beforeload: this.manageTileCache,
|
||||
loadend: this.addToCache,
|
||||
unload: this.unloadTile,
|
||||
scope: this
|
||||
});
|
||||
if (evt.tile instanceof OpenLayers.Tile.Image) {
|
||||
evt.tile.events.on({
|
||||
beforedraw: this.queueTileDraw,
|
||||
beforeload: this.manageTileCache,
|
||||
loadend: this.addToCache,
|
||||
unload: this.unloadTile,
|
||||
scope: this
|
||||
});
|
||||
} else {
|
||||
// Layer has the wrong tile type, so don't handle it any longer
|
||||
this.removeLayer({layer: evt.tile.layer});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -384,25 +387,23 @@ OpenLayers.TileManager = OpenLayers.Class({
|
||||
manageTileCache: function(evt) {
|
||||
var tile = evt.object;
|
||||
var img = this.tileCache[tile.url];
|
||||
// only use image from cache if it is not on a layer already
|
||||
if (img && (!img.parentNode ||
|
||||
OpenLayers.Element.hasClass(img.parentNode, 'olBackBuffer'))) {
|
||||
if (tile.layer.backBuffer) {
|
||||
if (tile.layer.backBuffer === img.parentNode) {
|
||||
// cached image is on the target layer's backbuffer already,
|
||||
// so nothing to do here
|
||||
return;
|
||||
}
|
||||
img.style.opacity = 0;
|
||||
img.style.visibility = 'hidden';
|
||||
}
|
||||
// Only backbuffer tiles have an id, so we don't want one here
|
||||
img.id = null;
|
||||
tile.setImage(img);
|
||||
// LRU - move tile to the end of the array to mark it as the most
|
||||
// recently used
|
||||
OpenLayers.Util.removeItem(this.tileCacheIndex, tile.url);
|
||||
this.tileCacheIndex.push(tile.url);
|
||||
if (img) {
|
||||
// if image is on its layer's backbuffer, remove it from backbuffer
|
||||
if (img.parentNode &&
|
||||
OpenLayers.Element.hasClass(img.parentNode, 'olBackBuffer')) {
|
||||
img.parentNode.removeChild(img);
|
||||
img.id = null;
|
||||
}
|
||||
// only use image from cache if it is not on a layer already
|
||||
if (!img.parentNode) {
|
||||
img.style.visibility = 'hidden';
|
||||
img.style.opacity = 0;
|
||||
tile.setImage(img);
|
||||
// LRU - move tile to the end of the array to mark it as the most
|
||||
// recently used
|
||||
OpenLayers.Util.removeItem(this.tileCacheIndex, tile.url);
|
||||
this.tileCacheIndex.push(tile.url);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -65,18 +65,16 @@ This was necessary for WCS support because there are no properties in common bet
|
||||
|
||||
## Layer.Grid: Tile queue and tileLoadingDelay changes
|
||||
|
||||
With the introduction of OpenLayers.TileManager, tile queueing has become optional. The default behavior is back to how it was in OpenLayers 2.11. To use a tile queue in 2.13, the map needs to be configured with a tileManager, e.g.:
|
||||
With the introduction of OpenLayers.TileManager, tile queueing has become optional but is enabled by default. To not use a tile queue in 2.13, the map needs to be configured with tileManager: null, e.g.:
|
||||
|
||||
var map = new OpenLayers.Map('map', {
|
||||
tileManager: new OpenLayers.TileManager()
|
||||
tileManager: null
|
||||
});
|
||||
|
||||
The tile queue also works differently than before: it no longer loads one tile at a time. Instead, it waits after a zoom or pan, and loads all tiles after a delay. This has the same effect as previously (less burden on the server), but makes use of the browser's request management. The delay can be configured separately for zooming and moving the map, using the `zoomDelay` (default: 200 ms) and `moveDelay` (default: 100 ms) config options of the TileManager.
|
||||
The tile queue works differently than before: it no longer loads one tile at a time. Instead, it waits after a zoom or pan, and loads all tiles after a delay. This has the same effect as previously (less burden on the server), but makes use of the browser's request management. The delay can be configured separately for zooming and moving the map, using the `zoomDelay` (default: 200 ms) and `moveDelay` (default: 100 ms) config options of the TileManager. If you want to have the map be associated with a TileManager with non-default options, supply the options instead or create your own TileManager instance and supply it to the Map constructor.
|
||||
|
||||
The `moveDelay` is the replacement for the `tileLoadingDelay` layer config option, which has been removed. There is no magic any more to only use the delay when requestAnimationFrame is not natively available.
|
||||
|
||||
In general, when targeting mobile devices or when using slow servers or connections for tiled layers, it is recommended to configure the map with a TileManager.
|
||||
|
||||
## Layer.Grid: Resize transitions by default
|
||||
|
||||
The `transitionEffect` property for grid layers has been changed to "resize" by default. This allows smooth transitions with animated zooming (also enabled by default). If resize transitions are not wanted for individual layers, set `transitionEffect` to `null`.
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
});
|
||||
map = new OpenLayers.Map({
|
||||
div: "map",
|
||||
tileManager: null,
|
||||
projection: "EPSG:900913",
|
||||
layers: [layer],
|
||||
center: [0, 0],
|
||||
|
||||
@@ -858,44 +858,6 @@
|
||||
"setOpacity() does not trigger changelayer if the opacity value is the same");
|
||||
}
|
||||
|
||||
function test_display(t) {
|
||||
t.plan(9);
|
||||
|
||||
var map, layer, log;
|
||||
|
||||
map = new OpenLayers.Map("map");
|
||||
layer = new OpenLayers.Layer("", {
|
||||
alwaysInRange: true,
|
||||
visibility: true
|
||||
});
|
||||
map.addLayer(layer);
|
||||
|
||||
log = [];
|
||||
map.events.register('changelayer', t, function(event) {
|
||||
log.push({
|
||||
layer: event.layer,
|
||||
property: event.property
|
||||
});
|
||||
});
|
||||
layer.display(false);
|
||||
t.eq(layer.div.style.display, "none", "display() set layer's display style to correct value");
|
||||
t.eq(layer.getVisibility(), true, "display() does not affect layer's visibility state");
|
||||
t.eq(log.length, 1, "display() triggers changelayer once");
|
||||
t.ok(log[0].layer == layer, "changelayer listener called with expected layer");
|
||||
t.eq(log[0].property, "visibility", "changelayer listener called with expected property");
|
||||
layer.visibility = false;
|
||||
layer.display(true);
|
||||
t.eq(layer.div.style.display, "block", "display() set layer's display style to correct value");
|
||||
t.eq(layer.getVisibility(), false, "display() does not affect layer's visibility state");
|
||||
layer.setVisibility(true);
|
||||
|
||||
// This call must not trig the event because the opacity value is the same.
|
||||
log = [];
|
||||
layer.display(true);
|
||||
t.eq(log.length, 0, "display() does not trigger changelayer if the display value is the same");
|
||||
layer.setVisibility(false);
|
||||
t.eq(log.length, 1, "changelayer event called only once. setVisibility doesn't fire any extra changelayer events");
|
||||
}
|
||||
|
||||
/******
|
||||
*
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
t.plan( 6 );
|
||||
|
||||
layer = new OpenLayers.Layer.ArcGIS93Rest(name, url, params);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
map.addLayer(layer);
|
||||
var pixel = new OpenLayers.Pixel(5,6);
|
||||
var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel);
|
||||
@@ -258,7 +258,7 @@
|
||||
t.plan( 9 );
|
||||
|
||||
layer = new OpenLayers.Layer.ArcGIS93Rest(name, url, params);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
map.addLayer(layer);
|
||||
var pixel = new OpenLayers.Pixel(5,6);
|
||||
var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel);
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
function test_setMap(t) {
|
||||
t.plan(1);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
layer = new OpenLayers.Layer.Grid(name, url, params, null);
|
||||
map.addLayer(layer);
|
||||
t.ok(OpenLayers.Element.hasClass(layer.div, "olLayerGrid"),
|
||||
@@ -682,7 +682,7 @@
|
||||
|
||||
t.plan( 9 );
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
layer = new OpenLayers.Layer.Grid(name, url, params);
|
||||
map.addLayer(layer);
|
||||
layer.destroy();
|
||||
@@ -1130,32 +1130,31 @@
|
||||
|
||||
function test_backbuffer_replace(t) {
|
||||
t.plan(6);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.WMS('', '../../img/blank.gif');
|
||||
map.addLayer(layer);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
t.delay_call(1, function() {
|
||||
layer.mergeNewParams({foo: 'bar'});
|
||||
var tile = layer.grid[1][1];
|
||||
t.ok(OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile is marked for being replaced');
|
||||
t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer created for tile');
|
||||
// simulate a css declaration where '.olTileReplacing' sets display
|
||||
// to none.
|
||||
tile.imgDiv.style.display = 'none';
|
||||
tile.onImageLoad();
|
||||
t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
|
||||
t.ok(!document.getElementById(tile.id + '_bb'), 'backbuffer removed for tile');
|
||||
|
||||
layer.mergeNewParams({foo: 'baz'});
|
||||
tile = layer.grid[1][1];
|
||||
// simulate a css declaration where '.olTileReplacing' does not set
|
||||
// display to none.
|
||||
tile.imgDiv.style.display = 'block';
|
||||
tile.onImageLoad();
|
||||
t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
|
||||
t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer not removed for visible tile');
|
||||
});
|
||||
layer.grid[1][1].onImageLoad();
|
||||
layer.mergeNewParams({foo: 'bar'});
|
||||
var tile = layer.grid[1][1];
|
||||
t.ok(OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile is marked for being replaced');
|
||||
t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer created for tile');
|
||||
// simulate a css declaration where '.olTileReplacing' sets display
|
||||
// to none.
|
||||
tile.imgDiv.style.display = 'none';
|
||||
tile.onImageLoad();
|
||||
t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
|
||||
t.ok(!document.getElementById(tile.id + '_bb'), 'backbuffer removed for tile');
|
||||
|
||||
layer.mergeNewParams({foo: 'baz'});
|
||||
tile = layer.grid[1][1];
|
||||
// simulate a css declaration where '.olTileReplacing' does not set
|
||||
// display to none.
|
||||
tile.imgDiv.style.display = 'block';
|
||||
tile.onImageLoad();
|
||||
t.ok(!OpenLayers.Element.hasClass(tile.imgDiv, 'olTileReplacing'), 'tile replaced, no longer marked');
|
||||
t.ok(document.getElementById(tile.id + '_bb'), 'backbuffer not removed for visible tile');
|
||||
}
|
||||
|
||||
function test_backbuffer_replace_singleTile(t) {
|
||||
@@ -1220,7 +1219,8 @@
|
||||
|
||||
var map = new OpenLayers.Map('map', {
|
||||
resolutions: [32, 16, 8, 4, 2, 1],
|
||||
zoomMethod: null
|
||||
zoomMethod: null,
|
||||
tileManager: null
|
||||
});
|
||||
var layer = new OpenLayers.Layer.WMS(
|
||||
"WMS",
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
var url = "http://labs.metacarta.com/cgi-bin/mapserv";
|
||||
layer = new OpenLayers.Layer.MapServer(name, url, params);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
map.addLayer(layer);
|
||||
var pixel = new OpenLayers.Pixel(5,6);
|
||||
var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel);
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
projection: "EPSG:900913",
|
||||
layers: [layer],
|
||||
center: [0, 0],
|
||||
zoom: 1
|
||||
zoom: 1,
|
||||
tileManager: null
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
var url = "http://octo.metacarta.com/cgi-bin/mapserv";
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
map.addLayer(layer);
|
||||
var pixel = new OpenLayers.Pixel(5,6);
|
||||
var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel);
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
var url = "http://octo.metacarta.com/cgi-bin/mapserv";
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params, {encodeBBOX:true});
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
map.addLayer(layer);
|
||||
var pixel = new OpenLayers.Pixel(5,6);
|
||||
var tile = layer.addTile(new OpenLayers.Bounds(1,2,3,4), pixel);
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
var url = "http://octo.metacarta.com/cgi-bin/mapserv";
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params, {'wrapDateLine':true,encodeBBOX:true, buffer: 2});
|
||||
var m = new OpenLayers.Map('map', {adjustZoom: function(z) {return z;}});
|
||||
var m = new OpenLayers.Map('map', {tileManager: null, adjustZoom: function(z) {return z;}});
|
||||
m.addLayer(layer);
|
||||
m.zoomToMaxExtent();
|
||||
t.eq(layer.grid[3][0].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "cell [3][0] is wrapped around the world.");
|
||||
@@ -151,7 +151,7 @@
|
||||
"http://www.openlayers.org/world/index.php",
|
||||
{g: "satellite", map: "world"},
|
||||
{wrapDateLine: true, buffer: 2} );
|
||||
var m = new OpenLayers.Map('map', {adjustZoom: function(z) {return z;}});
|
||||
var m = new OpenLayers.Map('map', {tileManager: null, adjustZoom: function(z) {return z;}});
|
||||
m.addLayer(layer);
|
||||
m.zoomToMaxExtent();
|
||||
t.eq(layer.grid[4][7].url, "http://www.openlayers.org/world/index.php?g=satellite&map=world&i=jpeg&t=0&l=-256&s=221471921.25", "grid[5][7] kamap is okay");
|
||||
@@ -170,7 +170,7 @@
|
||||
"prov_bound,fedlimit,rail,road,popplace",
|
||||
transparent: "true", format: "image/png"},
|
||||
{wrapDateLine: true, encodeBBOX:true, buffer:2});
|
||||
var m = new OpenLayers.Map('map', {adjustZoom: function(z) {return z;}});
|
||||
var m = new OpenLayers.Map('map', {tileManager: null, adjustZoom: function(z) {return z;}});
|
||||
m.addLayers([baselayer,layer]);
|
||||
m.zoomToMaxExtent();
|
||||
t.eq(layer.grid[3][0].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "grid[0][0] wms overlay is okay");
|
||||
|
||||
@@ -193,6 +193,7 @@
|
||||
// test that events.on is called at map construction
|
||||
var options = {
|
||||
eventListeners: {foo: "bar"},
|
||||
tileManager: null,
|
||||
controls: []
|
||||
};
|
||||
OpenLayers.Events.prototype.on = function(obj) {
|
||||
@@ -207,7 +208,7 @@
|
||||
OpenLayers.Events.prototype.on = function(obj) {
|
||||
t.fail("events.on called without eventListeners");
|
||||
}
|
||||
var map2 = new OpenLayers.Map("map", {controls: []});
|
||||
var map2 = new OpenLayers.Map("map", {tileManager: null, controls: []});
|
||||
OpenLayers.Events.prototype.on = method;
|
||||
map2.destroy();
|
||||
}
|
||||
@@ -983,22 +984,14 @@
|
||||
}
|
||||
|
||||
function test_Map_moveTo(t) {
|
||||
t.plan(12);
|
||||
t.plan(2);
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
|
||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||
{map: "/mapdata/vmap_wms.map", layers: "basic"},
|
||||
{maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)});
|
||||
var testLayer = new OpenLayers.Layer("",{maxResolution: 0.1, minResolution: 0.03, isBaseLayer: false, visibility: true});
|
||||
var log = [];
|
||||
map.events.register('changelayer', t, function(event) {
|
||||
log.push({
|
||||
layer: event.layer,
|
||||
property: event.property
|
||||
});
|
||||
});
|
||||
map.events.on({
|
||||
baseLayer.events.on({
|
||||
move: function() {
|
||||
t.ok(true, "move listener called");
|
||||
},
|
||||
@@ -1012,20 +1005,10 @@
|
||||
}
|
||||
});
|
||||
map.addLayer(baseLayer);
|
||||
map.addLayer(testLayer);
|
||||
log = [];
|
||||
var ll = new OpenLayers.LonLat(-100,-150);
|
||||
map.moveTo(ll, 2);
|
||||
|
||||
t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat");
|
||||
t.eq(testLayer.div.style.display, "none", "moveTo out of resolution range set layer's display style to correct value");
|
||||
t.eq(log.length, 1, "Map.moveTo out of resolution range triggers changelayer once");
|
||||
t.ok(log[0].layer == testLayer, "changelayer listener called with expected layer");
|
||||
t.eq(log[0].property, "visibility", "changelayer listener called with expected property");
|
||||
|
||||
map.moveTo(new OpenLayers.LonLat(0,0), 0);
|
||||
t.eq(testLayer.div.style.display, "block", "moveTo in to resolution range set layer's display style to correct value");
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
@@ -2249,6 +2232,20 @@
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_tileManager(t) {
|
||||
t.plan(3);
|
||||
var map = new OpenLayers.Map('map');
|
||||
t.ok(map.tileManager instanceof OpenLayers.TileManager, "Default tileManager created");
|
||||
map.destroy();
|
||||
map = new OpenLayers.Map('map', {tileManager: null});
|
||||
t.ok(map.tileManager === null, "No tileManager created");
|
||||
map.destroy();
|
||||
var options = {cacheSize: 512};
|
||||
map = new OpenLayers.Map('map', {tileManager: options});
|
||||
t.eq(map.tileManager.cacheSize, 512, "cacheSize taken from options");
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
format: 'image/png'};
|
||||
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.WMS(name, url, params, {gutter: gutter});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0,0), 5);
|
||||
@@ -296,7 +296,7 @@
|
||||
map.destroy();
|
||||
|
||||
var gutter = 15;
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.WMS(name, url, params, {gutter: gutter});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0,0), 5);
|
||||
@@ -320,7 +320,7 @@
|
||||
function test_createBackBuffer(t) {
|
||||
t.plan(3);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"../../img/blank.gif", {layers: 'basic'});
|
||||
map.addLayer(layer);
|
||||
@@ -345,7 +345,7 @@
|
||||
function test_onImageLoad(t) {
|
||||
t.plan(3);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"../../img/blank.gif", {layers: 'basic'}, {opacity: 0.5});
|
||||
map.addLayer(layer);
|
||||
@@ -382,12 +382,9 @@
|
||||
|
||||
t.delay_call(5, function() {
|
||||
var tile = layer.grid[0][0];
|
||||
if (tile.isLoading) {
|
||||
t.ok(false, "test_getCanvasContext timeout");
|
||||
} else {
|
||||
t.ok(tile.getCanvasContext() instanceof CanvasRenderingContext2D,
|
||||
"getCanvasContext() returns CanvasRenderingContext2D instance");
|
||||
}
|
||||
tile.onImageLoad();
|
||||
t.ok(tile.getCanvasContext() instanceof CanvasRenderingContext2D,
|
||||
"getCanvasContext() returns CanvasRenderingContext2D instance");
|
||||
map.destroy();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
function test_Tile_Image_IFrame_create (t) {
|
||||
t.plan( 3 );
|
||||
map = new OpenLayers.Map('map');
|
||||
map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var bar = new Array(205).join("1234567890");
|
||||
layer = new OpenLayers.Layer.WMS(name, wmsUrl,
|
||||
{layers: 'basic', foo: bar},
|
||||
@@ -87,7 +87,7 @@
|
||||
function test_Tile_Image_IFrame_createImage (t) {
|
||||
t.plan( 9 );
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
map = new OpenLayers.Map('map', {tileManager: null});
|
||||
layer = new OpenLayers.Layer.WMS(name, wmsUrl, {layers: 'basic'}, {tileOptions: {maxGetUrlLength: 0}});
|
||||
map.addLayer(layer);
|
||||
var tile = layer.addTile(bounds, position);
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
projection: "EPSG:900913",
|
||||
layers: [layer],
|
||||
center: [0, 0],
|
||||
zoom: 1
|
||||
zoom: 1,
|
||||
tileManager: null
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -134,4 +134,4 @@
|
||||
<body>
|
||||
<div id="map" style="width:499px;height:549px;display:none"></div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
t.debug_print("Can't test google reprojection in Opera or Safari.");
|
||||
} else if(validkey) {
|
||||
t.plan(5);
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.Google("Google");
|
||||
map.addLayer(layer);
|
||||
layer = new OpenLayers.Layer.MapServer(name, url, params, {reproject: true, isBaseLayer: false, buffer: 2});
|
||||
@@ -42,7 +42,7 @@
|
||||
window.location.host);
|
||||
}
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
layer = new OpenLayers.Layer.MapServer(name, url, params, {buffer:2});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0,0), 5);
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
function test_Layer_MapServer_Untiled_mergeNewParams (t) {
|
||||
t.plan( 5 );
|
||||
|
||||
var map = new OpenLayers.Map("map");
|
||||
var map = new OpenLayers.Map("map", {tileManager: null});
|
||||
var url = "http://labs.metacarta.com/cgi-bin/mapserv";
|
||||
layer = new OpenLayers.Layer.MapServer.Untiled(name, url, params);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
} else if(validkey) {
|
||||
t.plan(5);
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
var layer = new OpenLayers.Layer.Google("Google");
|
||||
map.addLayer(layer);
|
||||
var wmslayer = new OpenLayers.Layer.WMS(name, url, params,
|
||||
@@ -43,7 +43,7 @@
|
||||
window.location.host);
|
||||
}
|
||||
|
||||
var map = new OpenLayers.Map('map');
|
||||
var map = new OpenLayers.Map('map', {tileManager: null});
|
||||
layer = new OpenLayers.Layer.WMS(name, url, params, {buffer: 2});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0,0), 5);
|
||||
|
||||
Reference in New Issue
Block a user