Merge remote-tracking branch 'openlayers/master' into vector-api

This commit is contained in:
Tom Payne
2014-01-09 11:42:14 +01:00
27 changed files with 141 additions and 141 deletions

View File

@@ -3,7 +3,7 @@ goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.View2D');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
function setResetBrightnessButtonHTML() {
@@ -23,7 +23,7 @@ if (!ol.BrowserFeature.HAS_WEBGL) {
info.style.display = '';
} else {
var layer = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var map = new ol.Map({

View File

@@ -4,7 +4,7 @@ goog.require('ol.View2D');
goog.require('ol.interaction');
goog.require('ol.interaction.DragRotateAndZoom');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
var map = new ol.Map({
@@ -13,7 +13,7 @@ var map = new ol.Map({
]),
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
})
],
renderers: ol.RendererHints.createFromQueryData(),

View File

@@ -5,7 +5,7 @@ goog.require('ol.interaction');
goog.require('ol.interaction.Draw');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -13,7 +13,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var styleArray = [new ol.style.Style({

View File

@@ -3,7 +3,7 @@ goog.require('ol.RendererHint');
goog.require('ol.View2D');
goog.require('ol.geom.MultiPoint');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
@@ -12,7 +12,7 @@ goog.require('ol.style.Stroke');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
})
],
renderer: ol.RendererHint.CANVAS,

View File

@@ -5,13 +5,13 @@ goog.require('ol.dom.Input');
goog.require('ol.layer.Group');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.TileJSON');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
}), new ol.layer.Group({
layers: [
new ol.layer.Tile({

View File

@@ -25,6 +25,11 @@
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
<select id="layer-select">
<option value="Aerial">Aerial</option>
<option value="AerialWithLabels">Aerial with labels</option>
<option value="Road" selected>Road</option>
</select>
</div>
</div>
@@ -43,6 +48,7 @@
</div>
<script src="jquery.min.js" type="text/javascript"></script>
<script src="loader.js?id=mapquest" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -1,22 +1,52 @@
goog.require('ol.Map');
goog.require('ol.RendererHints');
goog.require('ol.View2D');
goog.require('ol.layer.Group');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuestOSM');
goog.require('ol.source.MapQuest');
var layers = [
new ol.layer.Tile({
style: 'Road',
source: new ol.source.MapQuest({layer: 'osm'})
}),
new ol.layer.Tile({
style: 'Aerial',
visible: false,
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Group({
style: 'AerialWithLabels',
visible: false,
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'hyb'})
})
]
})
];
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOSM()
})
],
layers: layers,
renderers: ol.RendererHints.createFromQueryData(),
target: 'map',
view: new ol.View2D({
center: ol.proj.transform(
[139.6917, 35.689506], 'EPSG:4326', 'EPSG:3857'),
[-73.979378, 40.702222], 'EPSG:4326', 'EPSG:3857'),
zoom: 9
})
});
$('#layer-select').change(function() {
var style = $(this).find(':selected').val();
var i, ii;
for (i = 0, ii = layers.length; i < ii; ++i) {
layers[i].set('visible', (layers[i].get('style') == style));
}
});
$('#layer-select').trigger('change');

View File

@@ -6,11 +6,11 @@ goog.require('ol.View2D');
goog.require('ol.coordinate');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
var layer = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var map = new ol.Map({

View File

@@ -3,14 +3,14 @@ goog.require('ol.RendererHints');
goog.require('ol.View2D');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.TileJSON');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Tile({
source: new ol.source.TileJSON({

View File

@@ -3,13 +3,13 @@ goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.View2D');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
var domMap = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
})
],
renderer: ol.RendererHint.DOM,

View File

@@ -5,7 +5,7 @@ goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.render.FeaturesOverlay');
goog.require('ol.source.GeoJSON');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
@@ -33,7 +33,7 @@ var vectorLayer = new ol.layer.Vector({
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
}),
vectorLayer
],

View File

@@ -4,12 +4,12 @@ goog.require('ol.View2D');
goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.source.ImageWMS');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Image({
source: new ol.source.ImageWMS({

View File

@@ -2,13 +2,13 @@ goog.require('ol.Map');
goog.require('ol.RendererHint');
goog.require('ol.View2D');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.TileWMS');
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Tile({
source: new ol.source.TileWMS({

View File

@@ -2,7 +2,7 @@ goog.require('ol.Map');
goog.require('ol.View2D');
goog.require('ol.control.ZoomSlider');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
/**
@@ -14,7 +14,7 @@ goog.require('ol.source.MapQuestOpenAerial');
var createMap = function(divId) {
var source, layer, map, zoomslider, resolutions;
source = new ol.source.MapQuestOpenAerial();
source = new ol.source.MapQuest({layer: 'sat'});
layer = new ol.layer.Tile({
source: source
});

View File

@@ -4,14 +4,14 @@ goog.require('ol.View2D');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.parser.ogc.GML_v3');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var vector = new ol.layer.Vector({

View File

@@ -7,7 +7,7 @@ goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.parser.ogc.GML_v3');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Rule');
@@ -16,7 +16,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var vector = new ol.layer.Vector({

View File

@@ -6,7 +6,7 @@ goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.parser.ogc.GML_v3');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Rule');
@@ -14,7 +14,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var vector = new ol.layer.Vector({

View File

@@ -7,12 +7,12 @@ goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.parser.GeoJSON');
goog.require('ol.parser.ogc.SLD');
goog.require('ol.source.MapQuestOpenAerial');
goog.require('ol.source.MapQuest');
goog.require('ol.source.Vector');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuestOpenAerial()
source: new ol.source.MapQuest({layer: 'sat'})
});
var xhr = new XMLHttpRequest();

View File

@@ -592,6 +592,7 @@
/**
* @typedef {Object} olx.source.MapQuestOptions
* @property {string} layer Layer.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @todo stability experimental

View File

@@ -30,11 +30,11 @@ ol.ENABLE_WEBGL = true;
/**
* The ratio between physical pixels and device-independent pixels
* (dips) on the device (`window.devicePixelRatio`).
* @const {number}
* @todo stability experimental
*/
* The ratio between physical pixels and device-independent pixels
* (dips) on the device (`window.devicePixelRatio`).
* @const {number}
* @todo stability experimental
*/
ol.BrowserFeature.DEVICE_PIXEL_RATIO = goog.global.devicePixelRatio || 1;
@@ -87,10 +87,10 @@ ol.BrowserFeature.HAS_GEOLOCATION = 'geolocation' in goog.global.navigator;
/**
* True if browser supports touch events.
* @const {boolean}
* True if browser supports touch events.
* @const {boolean}
* @todo stability experimental
*/
*/
ol.BrowserFeature.HAS_TOUCH = ol.ASSUME_TOUCH ||
(goog.global.document &&
'ontouchstart' in goog.global.document.documentElement) ||

View File

@@ -205,7 +205,6 @@ ol.layer.Group.prototype.getLayerStatesArray = function(opt_obj) {
layerState.hue += ownLayerState.hue;
layerState.opacity *= ownLayerState.opacity;
layerState.saturation *= ownLayerState.saturation;
layerState.sourceState = this.getSourceState();
layerState.visible = layerState.visible && ownLayerState.visible;
layerState.maxResolution = Math.min(
layerState.maxResolution, ownLayerState.maxResolution);
@@ -221,30 +220,5 @@ ol.layer.Group.prototype.getLayerStatesArray = function(opt_obj) {
* @inheritDoc
*/
ol.layer.Group.prototype.getSourceState = function() {
// Return the layer group's source state based on the best source state of its
// children:
// - if any child is READY, return READY
// - otherwise, if any child is LOADING, return LOADING
// - otherwise, all children must be in ERROR, return ERROR
// - otherwise, there are no children, return READY
var layerSourceStates = [0, 0, 0];
var layers = this.getLayers().getArray();
var n = layers.length;
var i;
for (i = 0; i < n; ++i) {
var layerSourceState = layers[i].getSourceState();
goog.asserts.assert(layerSourceState < layerSourceStates.length);
++layerSourceStates[layerSourceState];
}
if (layerSourceStates[ol.source.State.READY]) {
return ol.source.State.READY;
} else if (layerSourceStates[ol.source.State.LOADING]) {
return ol.source.State.LOADING;
} else if (layerSourceStates[ol.source.State.ERROR]) {
goog.asserts.assert(layerSourceStates[ol.source.State.ERROR] == n);
return ol.source.State.ERROR;
} else {
goog.asserts.assert(n === 0);
return ol.source.State.READY;
}
return ol.source.State.READY;
};

View File

@@ -1,2 +1 @@
@exportSymbol ol.source.MapQuestOSM
@exportSymbol ol.source.MapQuestOpenAerial
@exportSymbol ol.source.MapQuest

View File

@@ -1,6 +1,6 @@
goog.provide('ol.source.MapQuestOSM');
goog.provide('ol.source.MapQuestOpenAerial');
goog.provide('ol.source.MapQuest');
goog.require('goog.asserts');
goog.require('ol.Attribution');
goog.require('ol.source.OSM');
goog.require('ol.source.XYZ');
@@ -13,63 +13,66 @@ goog.require('ol.source.XYZ');
* @param {olx.source.MapQuestOptions=} opt_options MapQuest options.
* @todo stability experimental
*/
ol.source.MapQuestOSM = function(opt_options) {
ol.source.MapQuest = function(opt_options) {
var options = goog.isDef(opt_options) ? opt_options : {};
goog.asserts.assert(options.layer in ol.source.MapQuestConfig);
var attributions = [
new ol.Attribution({
html: 'Tiles Courtesy of ' +
'<a href="http://www.mapquest.com/" target="_blank">MapQuest</a>'
}),
ol.source.OSM.DATA_ATTRIBUTION
];
var layerConfig = ol.source.MapQuestConfig[options.layer];
var url = 'http://otile{1-4}.mqcdn.com/tiles/1.0.0/' +
options.layer + '/{z}/{x}/{y}.jpg';
goog.base(this, {
attributions: attributions,
attributions: layerConfig.attributions,
crossOrigin: 'anonymous',
logo: 'http://developer.mapquest.com/content/osm/mq_logo.png',
maxZoom: layerConfig.maxZoom,
opaque: true,
maxZoom: 28,
tileLoadFunction: options.tileLoadFunction,
url: 'http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg'
url: url
});
};
goog.inherits(ol.source.MapQuestOSM, ol.source.XYZ);
goog.inherits(ol.source.MapQuest, ol.source.XYZ);
/**
* @constructor
* @extends {ol.source.XYZ}
* @param {olx.source.MapQuestOptions=} opt_options MapQuest options.
* @todo stability experimental
* @const
* @type {ol.Attribution}
*/
ol.source.MapQuestOpenAerial = function(opt_options) {
ol.source.MapQuest.TILE_ATTRIBUTION = new ol.Attribution({
html: 'Tiles Courtesy of ' +
'<a href="http://www.mapquest.com/" target="_blank">MapQuest</a>'
});
var options = goog.isDef(opt_options) ? opt_options : {};
var attributions = [
new ol.Attribution({
html: 'Tiles Courtesy of ' +
'<a href="http://www.mapquest.com/" target="_blank">MapQuest</a>'
}),
new ol.Attribution({
html: 'Portions Courtesy NASA/JPL-Caltech and ' +
'U.S. Depart. of Agriculture, Farm Service Agency'
})
];
goog.base(this, {
attributions: attributions,
crossOrigin: 'anonymous',
logo: 'http://developer.mapquest.com/content/osm/mq_logo.png',
/**
* @type {Object.<string, {maxZoom: number, attributions: (Array.<ol.Attribution>)}>}
*/
ol.source.MapQuestConfig = {
'osm': {
maxZoom: 28,
attributions: [
ol.source.MapQuest.TILE_ATTRIBUTION,
ol.source.OSM.DATA_ATTRIBUTION
]
},
'sat': {
maxZoom: 18,
opaque: true,
tileLoadFunction: options.tileLoadFunction,
url: 'http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg'
});
attributions: [
ol.source.MapQuest.TILE_ATTRIBUTION,
new ol.Attribution({
html: 'Portions Courtesy NASA/JPL-Caltech and ' +
'U.S. Depart. of Agriculture, Farm Service Agency'
})
]
},
'hyb': {
maxZoom: 18,
attributions: [
ol.source.MapQuest.TILE_ATTRIBUTION,
ol.source.OSM.DATA_ATTRIBUTION
]
}
};
goog.inherits(ol.source.MapQuestOpenAerial, ol.source.XYZ);

View File

@@ -21,6 +21,7 @@ ol.QuadKeyCharCode = {
* @param {number} z Zoom level.
* @param {number} x X.
* @param {number} y Y.
* @struct
*/
ol.TileCoord = function(z, x, y) {

View File

@@ -89,14 +89,7 @@ ol.tilegrid.XYZ.prototype.createTileCoordTransform = function(opt_options) {
return null;
}
}
if (goog.isDef(opt_tileCoord)) {
opt_tileCoord.z = z;
opt_tileCoord.x = x;
opt_tileCoord.y = -y - 1;
return opt_tileCoord;
} else {
return new ol.TileCoord(z, x, -y - 1);
}
return ol.TileCoord.createOrUpdate(z, x, -y - 1, opt_tileCoord);
});
};

View File

@@ -74,13 +74,6 @@ ol.tilegrid.Zoomify.prototype.createTileCoordTransform = function(opt_options) {
return null;
}
}
if (goog.isDef(opt_tileCoord)) {
opt_tileCoord.z = z;
opt_tileCoord.x = x;
opt_tileCoord.y = -y - 1;
return opt_tileCoord;
} else {
return new ol.TileCoord(z, x, -y - 1);
}
return ol.TileCoord.createOrUpdate(z, x, -y - 1, opt_tileCoord);
});
};

View File

@@ -23,7 +23,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 3);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -45,7 +45,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 0);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -69,7 +69,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 1);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -94,7 +94,7 @@ describe('ol.source.Tile', function() {
var grid = source.getTileGrid();
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 1);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -120,7 +120,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 1);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -143,7 +143,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 1);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}
@@ -168,7 +168,7 @@ describe('ol.source.Tile', function() {
var range = grid.getTileRangeForExtentAndZ(source.getExtent(), 1);
function getTileIfLoaded(z, x, y) {
var tile = source.getTile(z, x, y, null, null);
var tile = source.getTile(z, x, y);
return (!goog.isNull(tile) && tile.getState() === ol.TileState.LOADED) ?
tile : null;
}