Compare commits

...

112 Commits

Author SHA1 Message Date
Andreas Hocevar
1cf01037aa Set version and tag for v4.3.0-beta.2 2017-07-15 11:33:05 +02:00
Frédéric Junod
89ec2dacad Merge pull request #7021 from openlayers/greenkeeper/fs-extra-4.0.0
Update fs-extra to the latest version 🚀
2017-07-15 08:20:34 +02:00
greenkeeper[bot]
b97439cf8e fix(package): update fs-extra to version 4.0.0 2017-07-14 18:11:16 +00:00
Andreas Hocevar
b7b2ee0c57 Merge pull request #7018 from openlayers/greenkeeper/jsdoc-3.5.3
Update jsdoc to the latest version 🚀
2017-07-14 07:56:41 +02:00
greenkeeper[bot]
fe39b5da1b fix(package): update jsdoc to version 3.5.3 2017-07-14 02:54:50 +00:00
Frédéric Junod
bc0bc3f8a9 Merge pull request #7015 from openlayers/greenkeeper/sinon-2.3.8
Update sinon to the latest version 🚀
2017-07-13 13:21:35 +02:00
greenkeeper[bot]
9c0d0c5681 chore(package): update sinon to version 2.3.8 2017-07-13 08:23:48 +00:00
Frédéric Junod
b97daf844b Merge pull request #7014 from openlayers/greenkeeper/jsdoc-3.5.2
Update jsdoc to the latest version 🚀
2017-07-13 08:39:54 +02:00
Tim Schaub
f8237c9cd2 Merge pull request #7013 from tschaub/sphere
Remove ol.sphere.WGS84 and ol.sphere.NORMAL
2017-07-12 21:14:05 -06:00
greenkeeper[bot]
b317a4474e fix(package): update jsdoc to version 3.5.2 2017-07-12 18:20:07 +00:00
Frédéric Junod
b1772dae44 Merge pull request #6981 from gberaudo/intermediate_canvas_rendering
Render transparent vector layers to an intermediate canvas
2017-07-12 14:14:13 +02:00
Guillaume Beraudo
c33383d248 Add rendering test for transparent layer 2017-07-12 10:56:15 +02:00
Guillaume Beraudo
645e359cde Render transparent vector layers to an intermediate canvas
Until now, the features of transparent vector layers were rendered using
the layer opacity. This caused colors to mix together and the opacities
to stack up to an higher value than the expected layer opacity.

With this commit, the features are rendered at 100% opacity to an
intermediate canvas which ensures colors do not mix up even in the case
of features using an array of styles. The intermediate canvas is then
composed to the map canvas using the layer opacity.

Transparent layers are automatically detected, non-transparent layers
are not affected by the change.
2017-07-12 09:23:04 +02:00
Tim Schaub
fa71593a2a Remove ol.sphere.NORMAL 2017-07-11 08:10:46 -06:00
Tim Schaub
2e903c0293 Remove ol.sphere.WGS84 2017-07-11 08:00:41 -06:00
Tim Schaub
aced192bcd Merge pull request #6899 from probins/radii
Use number literal for sphere radius
2017-07-11 07:08:30 -06:00
Andreas Hocevar
19b0b956f7 Merge pull request #7011 from openlayers/greenkeeper/jsdoc-3.5.1
Update jsdoc to the latest version 🚀
2017-07-11 00:02:28 +02:00
greenkeeper[bot]
9f9355ac46 fix(package): update jsdoc to version 3.5.1 2017-07-10 18:22:28 +00:00
Andreas Hocevar
f28e6c2d95 Merge pull request #7008 from openlayers/greenkeeper/sinon-2.3.7
Update sinon to the latest version 🚀
2017-07-10 19:13:06 +02:00
Andreas Hocevar
e633380221 Merge pull request #7007 from openlayers/greenkeeper/rollup-0.45.0
fix(package): update rollup to version 0.45.0
2017-07-10 19:11:58 +02:00
Andreas Hocevar
5f6f757bd0 Update rollup configuration 2017-07-10 18:59:58 +02:00
greenkeeper[bot]
b29fc52842 chore(package): update sinon to version 2.3.7 2017-07-10 13:23:45 +00:00
greenkeeper[bot]
791ffaabeb fix(package): update rollup to version 0.45.0
Closes #7001
2017-07-10 14:48:30 +02:00
Andreas Hocevar
c31d67fe57 Merge pull request #6996 from ch08532/bugfix/6987
6987: Memory leak with WMS time source with reprojection
2017-07-10 13:01:46 +02:00
Andreas Hocevar
a1710be335 Merge pull request #7003 from openlayers/greenkeeper/jsdoc-3.5.0
Update jsdoc to the latest version 🚀
2017-07-10 12:36:56 +02:00
Andreas Hocevar
2260d92436 Return promise to avoid truncated stdout output 2017-07-10 12:02:33 +02:00
Andreas Hocevar
4d0e106d98 Change paths for jsdoc 3.5 2017-07-10 12:02:12 +02:00
Frédéric Junod
8bc4bde5c3 Merge pull request #7004 from fredj/https
Use https for bing and stamen attributions
2017-07-10 08:58:49 +02:00
Frederic Junod
429e2982d0 Use https for bing and stamen attributions 2017-07-10 08:31:51 +02:00
greenkeeper[bot]
23f8540b4c fix(package): update jsdoc to version 3.5.0 2017-07-10 02:30:32 +00:00
Andreas Hocevar
59d8d749e3 Merge pull request #6998 from openlayers/greenkeeper/eslint-4.2.0
Update eslint to the latest version 🚀
2017-07-09 16:52:47 +02:00
Andreas Hocevar
cff9ef5e63 Remove lint 2017-07-09 16:11:36 +02:00
Andreas Hocevar
e6e0109a1b Merge pull request #6999 from ahocevar/vectortile-source-multilayer
Make VectorTile source work with multiple layers
2017-07-09 14:39:27 +02:00
Andreas Hocevar
7739239e89 Make VectorTile source work with multiple layers 2017-07-09 14:08:08 +02:00
greenkeeper[bot]
eb8d5bcade chore(package): update eslint to version 4.2.0 2017-07-09 03:45:00 +00:00
Chris Amaral
ff242ef28c timeimage.js - Added newTile.refreshInterimChain() to clean up interimTile references and preventing memory leak 2017-07-07 13:57:50 -04:00
Andreas Hocevar
4a0f97ac6a Merge pull request #6988 from ahocevar/vectortile-types
Add missing type annotations
2017-07-06 16:53:23 +02:00
Andreas Hocevar
a0e0e76995 Add missing type annotations 2017-07-06 12:31:57 +02:00
Frédéric Junod
b5f9b88d0e Merge pull request #6984 from openlayers/greenkeeper/closure-util-1.22.0
Update closure-util to the latest version 🚀
2017-07-06 11:20:14 +02:00
greenkeeper[bot]
339f048826 fix(package): update closure-util to version 1.22.0 2017-07-05 07:56:48 +00:00
Andreas Hocevar
4f0bfbc1db Merge pull request #6970 from cmortazavi/patch-1
Fix Bug when adding/removing layer with no cache
2017-07-03 20:34:13 +02:00
cmortazavi
db63cc1b23 Fix Bug when adding/removing layer with no cache 2017-07-02 09:34:14 +02:00
Andreas Hocevar
f88d8b8a7d Merge pull request #6972 from ahocevar/loaded-error-tiles
Handle error tiles properly
2017-06-29 09:33:33 +02:00
Andreas Hocevar
991328904d Merge pull request #6973 from openlayers/greenkeeper/clean-css-cli-4.1.6
Update clean-css-cli to the latest version 🚀
2017-06-29 09:33:03 +02:00
greenkeeper[bot]
9d3539b3cb chore(package): update clean-css-cli to version 4.1.6 2017-06-29 07:05:11 +00:00
Frédéric Junod
bd143c0ad1 Merge pull request #6971 from openlayers/greenkeeper/sinon-2.3.6
Update sinon to the latest version 🚀
2017-06-29 08:58:16 +02:00
Andreas Hocevar
970265acb0 Give preloaded lower resolution tiles a chance to display immediately 2017-06-29 00:02:24 +02:00
Andreas Hocevar
36c80f61bc Do not delete tile keys for error or empty tiles 2017-06-28 23:16:11 +02:00
greenkeeper[bot]
d86c7c22dc chore(package): update sinon to version 2.3.6 2017-06-28 18:22:37 +00:00
Andreas Hocevar
71b334d49c Merge pull request #6968 from ahocevar/spin-animation
Shortest arc rotation animation improvements and upgrade notes
2017-06-28 17:11:01 +02:00
Andreas Hocevar
ee0eb8b1a0 Normalize rotation to values between -180 and 180 degrees after animation 2017-06-28 16:36:33 +02:00
Andreas Hocevar
cd4ed759ed Upgrade notes and example update for shortest arc rotation animation 2017-06-28 15:31:26 +02:00
Andreas Hocevar
c0e4da6d8c Merge pull request #6966 from ahocevar/resolution-for-zoom
Add getResolutionForZoom method for ol.View
2017-06-28 13:01:54 +02:00
Andreas Hocevar
72f5ff917f Merge pull request #6965 from ahocevar/shortest-rotation
Use shortest rotation delta for animation
2017-06-28 13:01:33 +02:00
Andreas Hocevar
4c9c9fa719 Merge pull request #6967 from ahocevar/bing-road-on-demand
Add RoadOnDemand imagery set to Bing example
2017-06-28 10:56:54 +02:00
Frédéric Junod
163e01a2dc Merge pull request #6964 from fredj/kml_DataParser
Fix KML ExtendedData reading
2017-06-28 10:53:55 +02:00
Andreas Hocevar
79862ca8c2 Add RoadOnDemand imagery set to Bing example 2017-06-28 10:40:06 +02:00
Andreas Hocevar
aa8d7b0b36 Add getResolutionForZoom method for ol.View 2017-06-28 10:30:32 +02:00
Andreas Hocevar
8d0857fd7a Merge pull request #6958 from ahocevar/vectorimagetile-cleanup
Remove error tiles after loading is finished
2017-06-28 10:21:20 +02:00
Andreas Hocevar
67f69a32bb Use shortest rotation delta for animation 2017-06-28 10:06:10 +02:00
Frederic Junod
382674975e Fix KML ExtendedData reading 2017-06-28 09:51:18 +02:00
Frédéric Junod
eaaa895b0a Merge pull request #6793 from GaborFarkas/webgl_text
Webgl text
2017-06-27 15:44:57 +02:00
Tim Schaub
70b971d3a4 Merge pull request #6960 from tschaub/queue-then-load
Queue tiles before loading
2017-06-26 23:42:25 -06:00
Tim Schaub
3ddb8712a3 Queue tiles before loading 2017-06-26 18:31:53 -06:00
Andreas Hocevar
533ca8b9fe Remove error tiles after loading is finished 2017-06-26 16:16:47 +02:00
Andreas Hocevar
0fc710bc48 Merge pull request #6957 from openlayers/greenkeeper/eslint-4.1.1
Greenkeeper/eslint 4.1.1
2017-06-26 16:03:53 +02:00
Andreas Hocevar
fe18636ff9 Remove lint 2017-06-26 14:56:07 +02:00
Andreas Hocevar
c299bfcd0f Merge pull request #6955 from openlayers/greenkeeper/async-2.5.0
Update async to the latest version 🚀
2017-06-26 07:31:06 +02:00
greenkeeper[bot]
3f5a6bca26 chore(package): update eslint to version 4.1.1
Closes #6950
2017-06-26 02:33:20 +00:00
greenkeeper[bot]
a6b35e7d8a fix(package): update async to version 2.5.0 2017-06-26 00:06:01 +00:00
GaborFarkas
619e85e737 Fix linting issues 2017-06-23 21:12:27 +02:00
GaborFarkas
b3407b0554 Add reindented texture shader 2017-06-23 20:51:46 +02:00
GaborFarkas
a4c421e699 Use glyph atlases 2017-06-23 20:44:41 +02:00
GaborFarkas
a3a443324d Add tests for WebGL TextReplay 2017-06-23 20:44:41 +02:00
GaborFarkas
7b9833fdce Conform TextReplay to the new structure 2017-06-23 20:44:41 +02:00
GaborFarkas
bd87ec7c83 Conform ImageReplay to the new structure 2017-06-23 20:44:41 +02:00
GaborFarkas
26bfa7a172 Refactor WebGL ImageReplay 2017-06-23 20:37:37 +02:00
GaborFarkas
f82bc15013 Minimal working text renderer 2017-06-23 20:34:52 +02:00
GaborFarkas
da60b96445 Style texts and draw them on canvas 2017-06-23 20:34:52 +02:00
GaborFarkas
2ed5abed07 Add WebGL text defaults 2017-06-23 20:34:52 +02:00
Peter Robins
49dcda7794 Use number literal for sphere radii 2017-06-22 09:15:59 +00:00
Marc Jansen
9fc0fb5e74 Merge pull request #6916 from marcjansen/eslint-4-upgrade
Upgrade eslint to v4.0.0
2017-06-22 07:55:06 +02:00
Andreas Hocevar
d32006b324 Merge pull request #6943 from openlayers/greenkeeper/sinon-2.3.5
Update sinon to the latest version 🚀
2017-06-20 21:43:56 +02:00
Marc Jansen
feabb6440d Add reindented shader sources 2017-06-20 11:45:48 +02:00
Marc Jansen
87e9c9ad46 Change indentation of shader mustache template 2017-06-20 11:45:48 +02:00
Marc Jansen
7d6929c710 Manual adjustment of indentation 2017-06-20 10:41:03 +02:00
greenkeeper[bot]
887642e69c chore(package): update sinon to version 2.3.5 2017-06-20 07:47:44 +00:00
Andreas Hocevar
b9e6619b2d Merge pull request #6939 from ahocevar/cachesize-fix-abort
Abort loading when tile is disposed
2017-06-20 09:35:14 +02:00
Frédéric Junod
78b5fe5f8c Merge pull request #6930 from openlayers/translate_no_map
Handle setActive(false) on an interaction without map
2017-06-20 08:30:45 +02:00
Andreas Hocevar
72e9b74b3e Abort loading when tile is disposed 2017-06-19 18:26:10 +02:00
Andreas Hocevar
c6aeda1511 Merge pull request #6936 from ahocevar/cachesize-fix-tilequeue
Do not stop the render loop when all wanted tiles are aborted
2017-06-19 15:47:26 +02:00
Frédéric Junod
eb501e1244 Merge pull request #6920 from klokantech/type-strength-consistency-fix
Fix minor type strength inconsistency
2017-06-19 15:45:26 +02:00
Andreas Hocevar
1f51c14e7e Do not stop the render loop when all wanted tiles are aborted 2017-06-19 15:17:59 +02:00
Andreas Hocevar
dee3ebdc54 Merge pull request #6935 from ahocevar/no-data-uri
Use transparent image from canvas context
2017-06-19 13:30:08 +02:00
Marc Jansen
d0ef05977b Autofix indentation issues (eslint --fix) 2017-06-19 11:58:00 +02:00
Marc Jansen
a17db4f45c Configure indent rule more explicitly 2017-06-19 11:56:06 +02:00
Andreas Hocevar
20974fea55 Use transparent image from canvas context 2017-06-19 10:13:03 +02:00
Tim Schaub
416df98505 Merge pull request #6933 from probins/proj4
Improve proj.get() logic
2017-06-18 18:15:43 -06:00
Peter Robins
fb5891cd48 Improve proj.get() logic 2017-06-18 09:47:07 +00:00
Bart van den Eijnden
1d4a482c1a Merge pull request #6931 from bartvde/feature-prefix-wfs
Make sure we use the default featurePrefix
2017-06-15 22:04:51 +02:00
bartvde
8d57a879ce Make sure we use the default featurePrefix 2017-06-15 16:33:07 +02:00
Frederic Junod
3e7aecd094 Handle setActive(false) on an interaction without map 2017-06-15 08:41:52 +02:00
Andreas Hocevar
c46bc1f02a Merge pull request #6928 from ahocevar/reproj-resolution
Only adjust resolution when center within projection extent
2017-06-14 16:31:00 +02:00
Andreas Hocevar
0d0ed6c130 Only adjust resolution when center within projection extent 2017-06-14 15:33:16 +02:00
Frédéric Junod
0045bed6e7 Merge pull request #6923 from fredj/strict_mode
Load tasks/build-ext.js in strict mode
2017-06-14 09:46:48 +02:00
Frederic Junod
0982dc0551 Load tasks/build-ext.js in strict mode
For nodejs 4.x compatibility.
2017-06-13 16:50:29 +02:00
Andreas Hocevar
e38efc7cbe Merge pull request #6918 from ahocevar/image-reproject-pixelratio
Remove unnecessary pixelRatio check
2017-06-13 13:07:31 +02:00
Petr Sloup
ea4e5f2293 Fix minor type strength inconsistency 2017-06-13 12:58:57 +02:00
Andreas Hocevar
29d1590bc6 Remove unnecessary pixelRatio check 2017-06-13 11:12:27 +02:00
Andreas Hocevar
e14ee2ea72 Merge pull request #6917 from probins/patch-1
Correct typo in graticule docs
2017-06-13 11:09:41 +02:00
Peter Robins
68ca4b3c2a Correct typo in graticule docs 2017-06-13 09:42:18 +01:00
Marc Jansen
4ad85e52e2 Upgrade eslint to v4.0.0 2017-06-13 09:35:15 +02:00
235 changed files with 3971 additions and 2708 deletions

View File

@@ -2,6 +2,26 @@
### Next release
#### `ol.animate` now takes the shortest arc for rotation animation
Usually rotation animations should animate along the shortest arc. There are rare occasions where a spinning animation effect is desired. So if you previously had something like
```js
map.getView().animate({
rotation: 2 * Math.PI,
duration: 2000
});
```
we recommend to split the animation into two parts and use different easing functions. The code below results in the same effect as the snippet above did with previous versions:
```js
map.getView().animate({
rotation: Math.PI,
easing: ol.easing.easeIn
}, {
rotation: 2 * Math.PI,
easing: ol.easing.easeOut
});
```
### v4.2.0
#### Return values of two `ol.style.RegularShape` getters have changed

View File

@@ -1,7 +1,7 @@
{
"opts": {
"recurse": true,
"template": "config/jsdoc/api/template"
"template": "../../config/jsdoc/api/template"
},
"tags": {
"allowUnknownTags": true
@@ -16,12 +16,12 @@
]
},
"plugins": [
"node_modules/jsdoc/plugins/markdown",
"config/jsdoc/api/plugins/inheritdoc",
"config/jsdoc/api/plugins/typedefs",
"config/jsdoc/api/plugins/events",
"config/jsdoc/api/plugins/observable",
"config/jsdoc/api/plugins/api"
"plugins/markdown",
"../../config/jsdoc/api/plugins/inheritdoc",
"../../config/jsdoc/api/plugins/typedefs",
"../../config/jsdoc/api/plugins/events",
"../../config/jsdoc/api/plugins/observable",
"../../config/jsdoc/api/plugins/api"
],
"markdown": {
"parser": "gfm"

View File

@@ -1,7 +1,7 @@
{
"opts": {
"recurse": true,
"template": "config/jsdoc/info"
"template": "../../config/jsdoc/info"
},
"tags": {
"allowUnknownTags": true
@@ -10,8 +10,8 @@
"includePattern": "\\.js$"
},
"plugins": [
"config/jsdoc/info/api-plugin",
"config/jsdoc/info/define-plugin",
"config/jsdoc/info/virtual-plugin"
"../../config/jsdoc/info/api-plugin",
"../../config/jsdoc/info/define-plugin",
"../../config/jsdoc/info/virtual-plugin"
]
}

View File

@@ -3,7 +3,6 @@
* an api tag) and boolean defines (with a define tag and a default value).
*/
var assert = require('assert');
var fs = require('fs');
var path = require('path');
@@ -89,7 +88,6 @@ exports.publish = function(data, opts) {
types: getTypes(doc.type.names)
});
} else {
var types;
var symbol = {
name: doc.longname,
kind: doc.kind,
@@ -169,13 +167,15 @@ exports.publish = function(data, opts) {
return (symbol.name in augments || symbol.virtual);
});
process.stdout.write(
JSON.stringify({
symbols: symbols,
defines: defines,
typedefs: typedefs,
externs: externs,
base: base
}, null, 2));
return new Promise(function(resolve, reject) {
process.stdout.write(
JSON.stringify({
symbols: symbols,
defines: defines,
typedefs: typedefs,
externs: externs,
base: base
}, null, 2));
});
};

View File

@@ -1,5 +1,6 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.easing');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.OSM');
@@ -73,9 +74,16 @@ onClick('rotate-right', function() {
});
onClick('rotate-around-rome', function() {
// Rotation animation takes the shortest arc, so animate in two parts
var rotation = view.getRotation();
view.animate({
rotation: view.getRotation() + 2 * Math.PI,
anchor: rome
rotation: rotation + Math.PI,
anchor: rome,
easing: ol.easing.easeIn
}, {
rotation: rotation + 2 * Math.PI,
anchor: rome,
easing: ol.easing.easeOut
});
});
@@ -103,10 +111,19 @@ onClick('bounce-to-istanbul', function() {
});
onClick('spin-to-rome', function() {
// Rotation animation takes the shortest arc, so animate in two parts
var center = view.getCenter();
view.animate({
center: [
center[0] + (rome[0] - center[0]) / 2,
center[1] + (rome[1] - center[1]) / 2
],
rotation: Math.PI,
easing: ol.easing.easeIn
}, {
center: rome,
rotation: 2 * Math.PI,
duration: 2000
easing: ol.easing.easeOut
});
});

View File

@@ -12,7 +12,8 @@ cloak:
<select id="layer-select">
<option value="Aerial">Aerial</option>
<option value="AerialWithLabels" selected>Aerial with labels</option>
<option value="Road">Road</option>
<option value="Road">Road (static)</option>
<option value="RoadOnDemand">Road (dynamic)</option>
<option value="collinsBart">Collins Bart</option>
<option value="ordnanceSurvey">Ordnance Survey</option>
</select>

View File

@@ -6,6 +6,7 @@ goog.require('ol.source.BingMaps');
var styles = [
'Road',
'RoadOnDemand',
'Aerial',
'AerialWithLabels',
'collinsBart',

View File

@@ -97,7 +97,7 @@ function rgb2xyz(x) {
function xyz2rgb(x) {
return 255 * (x <= 0.0031308 ?
12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
}
var raster = new ol.source.Raster({

View File

@@ -142,7 +142,7 @@ var lineFeature = new ol.Feature(
var polygonFeature = new ol.Feature(
new ol.geom.Polygon([[[-3e6, -1e6], [-3e6, 1e6],
[-1e6, 1e6], [-1e6, -1e6], [-3e6, -1e6]]]));
[-1e6, 1e6], [-1e6, -1e6], [-3e6, -1e6]]]));
var map = new ol.Map({

View File

@@ -198,7 +198,7 @@ function stopAnimation(ended) {
// if animation cancelled set the marker at the beginning
var coord = ended ? routeCoords[routeLength - 1] : routeCoords[0];
/** @type {ol.geom.Point} */ (geoMarker.getGeometry())
.setCoordinates(coord);
.setCoordinates(coord);
//remove listener
map.un('postcompose', moveFeature);
}

View File

@@ -85,10 +85,10 @@ fetch(url).then(function(response) {
var data = tileIndex.getTile(tileCoord[0], tileCoord[1], -tileCoord[2] - 1);
var features = format.readFeatures(
JSON.stringify({
type: 'FeatureCollection',
features: data ? data.features : []
}, replacer));
JSON.stringify({
type: 'FeatureCollection',
features: data ? data.features : []
}, replacer));
tile.setLoader(function() {
tile.setFeatures(features);
tile.setProjection(tilePixels);

View File

@@ -83,7 +83,7 @@ positionFeature.setStyle(new ol.style.Style({
geolocation.on('change:position', function() {
var coordinates = geolocation.getPosition();
positionFeature.setGeometry(coordinates ?
new ol.geom.Point(coordinates) : null);
new ol.geom.Point(coordinates) : null);
});
new ol.layer.Vector({

View File

@@ -81,11 +81,11 @@ var map = new ol.Map({
function createUrl(tpl, layerDesc) {
return tpl
.replace('{base}', layerDesc.base)
.replace('{type}', layerDesc.type)
.replace('{scheme}', layerDesc.scheme)
.replace('{app_id}', layerDesc.app_id)
.replace('{app_code}', layerDesc.app_code);
.replace('{base}', layerDesc.base)
.replace('{type}', layerDesc.type)
.replace('{scheme}', layerDesc.scheme)
.replace('{app_id}', layerDesc.app_id)
.replace('{app_code}', layerDesc.app_code);
}
var select = document.getElementById('layer-select');

View File

@@ -96,8 +96,8 @@ var geojsonObject = {
'geometry': {
'type': 'Polygon',
'coordinates': [[[-5e6, -1e6], [-4e6, 1e6],
[-3e6, -1e6], [-5e6, -1e6]], [[-4.5e6, -0.5e6],
[-3.5e6, -0.5e6], [-4e6, 0.5e6], [-4.5e6, -0.5e6]]]
[-3e6, -1e6], [-5e6, -1e6]], [[-4.5e6, -0.5e6],
[-3.5e6, -0.5e6], [-4e6, 0.5e6], [-4.5e6, -0.5e6]]]
}
}, {
'type': 'Feature',
@@ -117,11 +117,11 @@ var geojsonObject = {
'type': 'MultiPolygon',
'coordinates': [
[[[-5e6, 6e6], [-5e6, 8e6], [-3e6, 8e6],
[-3e6, 6e6], [-5e6, 6e6]]],
[-3e6, 6e6], [-5e6, 6e6]]],
[[[-3e6, 6e6], [-2e6, 8e6], [0, 8e6],
[0, 6e6], [-3e6, 6e6]]],
[0, 6e6], [-3e6, 6e6]]],
[[[1e6, 6e6], [1e6, 8e6], [3e6, 8e6],
[3e6, 6e6], [1e6, 6e6]]]
[3e6, 6e6], [1e6, 6e6]]]
]
}
}, {

View File

@@ -54,28 +54,28 @@ var geojsonObject = {
'geometry': {
'type': 'Polygon',
'coordinates': [[[-5e6, 6e6], [-5e6, 8e6], [-3e6, 8e6],
[-3e6, 6e6], [-5e6, 6e6]]]
[-3e6, 6e6], [-5e6, 6e6]]]
}
}, {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [[[-2e6, 6e6], [-2e6, 8e6], [0, 8e6],
[0, 6e6], [-2e6, 6e6]]]
[0, 6e6], [-2e6, 6e6]]]
}
}, {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [[[1e6, 6e6], [1e6, 8e6], [3e6, 8e6],
[3e6, 6e6], [1e6, 6e6]]]
[3e6, 6e6], [1e6, 6e6]]]
}
}, {
'type': 'Feature',
'geometry': {
'type': 'Polygon',
'coordinates': [[[-2e6, -1e6], [-1e6, 1e6],
[0, -1e6], [-2e6, -1e6]]]
[0, -1e6], [-2e6, -1e6]]]
}
}]
};

View File

@@ -162,13 +162,13 @@ function plot(resolution, counts, threshold) {
var value = counts.min + (index * counts.delta);
return 'bar' + (value >= threshold ? ' selected' : '');
})
.attr('width', barWidth - 2);
.attr('width', barWidth - 2);
bar.transition().attr('transform', function(value, index) {
return 'translate(' + (index * barWidth) + ', ' +
(plotHeight - yScale(value)) + ')';
})
.attr('height', yScale);
.attr('height', yScale);
bar.on('mousemove', function(count, index) {
var threshold = counts.min + (index * counts.delta);

View File

@@ -47,8 +47,8 @@ var featureRequest = new ol.format.WFS().writeGetFeature({
featureTypes: ['water_areas'],
outputFormat: 'application/json',
filter: ol.format.filter.and(
ol.format.filter.like('name', 'Mississippi*'),
ol.format.filter.equalTo('waterway', 'riverbank')
ol.format.filter.like('name', 'Mississippi*'),
ol.format.filter.equalTo('waterway', 'riverbank')
)
});

View File

@@ -28,8 +28,8 @@ var map = new ol.Map({
tileSize: tileSize,
tileUrlFunction: function(tileCoord) {
return urlTemplate.replace('{z}', (tileCoord[0] - 1).toString())
.replace('{x}', tileCoord[1].toString())
.replace('{y}', (-tileCoord[2] - 1).toString());
.replace('{x}', tileCoord[1].toString())
.replace('{y}', (-tileCoord[2] - 1).toString());
},
wrapX: true
})

View File

@@ -1,6 +1,6 @@
{
"name": "openlayers",
"version": "4.2.0",
"version": "4.3.0-beta.2",
"description": "Build tools and sources for developing OpenLayers based mapping applications",
"keywords": [
"map",
@@ -31,13 +31,13 @@
"css/ol.css"
],
"dependencies": {
"async": "2.4.1",
"closure-util": "1.21.0",
"async": "2.5.0",
"closure-util": "1.22.0",
"derequire": "2.0.6",
"fs-extra": "3.0.1",
"fs-extra": "4.0.0",
"glob": "7.1.1",
"handlebars": "4.0.10",
"jsdoc": "3.4.3",
"jsdoc": "3.5.3",
"marked": "0.3.6",
"metalsmith": "2.3.0",
"metalsmith-layouts": "1.8.1",
@@ -45,7 +45,7 @@
"pbf": "3.0.5",
"pixelworks": "1.1.0",
"rbush": "2.0.1",
"rollup": "^0.42.0",
"rollup": "^0.45.0",
"rollup-plugin-cleanup": "^1.0.0",
"rollup-plugin-commonjs": "^8.0.2",
"rollup-plugin-node-resolve": "^3.0.0",
@@ -54,10 +54,10 @@
"walk": "2.3.9"
},
"devDependencies": {
"clean-css-cli": "4.1.4",
"clean-css-cli": "4.1.6",
"coveralls": "2.13.1",
"debounce": "^1.0.0",
"eslint": "3.19.0",
"eslint": "4.2.0",
"eslint-config-openlayers": "7.0.0",
"eslint-plugin-openlayers-internal": "^3.1.0",
"expect.js": "0.3.1",
@@ -72,7 +72,7 @@
"proj4": "2.4.3",
"resemblejs": "2.2.4",
"serve-files": "1.0.1",
"sinon": "2.3.4",
"sinon": "2.3.8",
"slimerjs": "0.10.3"
},
"eslintConfig": {
@@ -100,7 +100,27 @@
"openlayers-internal/one-provide": 2,
"openlayers-internal/requires-first": 2,
"openlayers-internal/valid-provide": 2,
"openlayers-internal/valid-requires": 2
"openlayers-internal/valid-requires": 2,
"indent": [
2,
2,
{
"VariableDeclarator": 2,
"SwitchCase": 1,
"MemberExpression": 2,
"FunctionDeclaration": {
"parameters": 2,
"body": 1
},
"FunctionExpression": {
"parameters": 2,
"body": 1
},
"CallExpression": {
"arguments": 2
}
}
]
}
},
"ext": [

View File

@@ -1,6 +1,6 @@
{
"name": "ol",
"version": "4.2.0",
"version": "4.3.0-beta.2",
"description": "OpenLayers as ES2015 modules",
"main": "index.js",
"module": "index.js",

View File

@@ -9,20 +9,20 @@ goog.require('ol.math');
*/
ol.CenterConstraint.createExtent = function(extent) {
return (
/**
* @param {ol.Coordinate|undefined} center Center.
* @return {ol.Coordinate|undefined} Center.
*/
function(center) {
if (center) {
return [
ol.math.clamp(center[0], extent[0], extent[2]),
ol.math.clamp(center[1], extent[1], extent[3])
];
} else {
return undefined;
}
});
/**
* @param {ol.Coordinate|undefined} center Center.
* @return {ol.Coordinate|undefined} Center.
*/
function(center) {
if (center) {
return [
ol.math.clamp(center[0], extent[0], extent[2]),
ol.math.clamp(center[1], extent[1], extent[3])
];
} else {
return undefined;
}
});
};

View File

@@ -72,56 +72,56 @@ ol.color.fromNamed = function(color) {
* @return {ol.Color} Color.
*/
ol.color.fromString = (
function() {
function() {
// We maintain a small cache of parsed strings. To provide cheap LRU-like
// semantics, whenever the cache grows too large we simply delete an
// arbitrary 25% of the entries.
// We maintain a small cache of parsed strings. To provide cheap LRU-like
// semantics, whenever the cache grows too large we simply delete an
// arbitrary 25% of the entries.
/**
* @const
* @type {number}
*/
var MAX_CACHE_SIZE = 1024;
/**
* @type {Object.<string, ol.Color>}
*/
var cache = {};
/**
* @type {number}
*/
var cacheSize = 0;
return (
/**
* @const
* @type {number}
* @param {string} s String.
* @return {ol.Color} Color.
*/
var MAX_CACHE_SIZE = 1024;
/**
* @type {Object.<string, ol.Color>}
*/
var cache = {};
/**
* @type {number}
*/
var cacheSize = 0;
return (
/**
* @param {string} s String.
* @return {ol.Color} Color.
*/
function(s) {
var color;
if (cache.hasOwnProperty(s)) {
color = cache[s];
} else {
if (cacheSize >= MAX_CACHE_SIZE) {
var i = 0;
var key;
for (key in cache) {
if ((i++ & 3) === 0) {
delete cache[key];
--cacheSize;
}
}
function(s) {
var color;
if (cache.hasOwnProperty(s)) {
color = cache[s];
} else {
if (cacheSize >= MAX_CACHE_SIZE) {
var i = 0;
var key;
for (key in cache) {
if ((i++ & 3) === 0) {
delete cache[key];
--cacheSize;
}
color = ol.color.fromStringInternal_(s);
cache[s] = color;
++cacheSize;
}
return color;
});
}
color = ol.color.fromStringInternal_(s);
cache[s] = color;
++cacheSize;
}
return color;
});
})();
})();
/**

View File

@@ -23,8 +23,8 @@ ol.colorlike.asColorLike = function(color) {
*/
ol.colorlike.isColorLike = function(color) {
return (
typeof color === 'string' ||
color instanceof CanvasPattern ||
color instanceof CanvasGradient
typeof color === 'string' ||
color instanceof CanvasPattern ||
color instanceof CanvasGradient
);
};

View File

@@ -35,7 +35,7 @@ ol.control.defaults = function(opt_options) {
}
var attributionControl = options.attribution !== undefined ?
options.attribution : true;
options.attribution : true;
if (attributionControl) {
controls.push(new ol.control.Attribution(options.attributionOptions));
}

View File

@@ -53,7 +53,7 @@ ol.control.Attribution = function(opt_options) {
* @type {boolean}
*/
this.collapsible_ = options.collapsible !== undefined ?
options.collapsible : true;
options.collapsible : true;
if (!this.collapsible_) {
this.collapsed_ = false;
@@ -91,7 +91,7 @@ ol.control.Attribution = function(opt_options) {
var activeLabel = (this.collapsible_ && !this.collapsed_) ?
this.collapseLabel_ : this.label_;
this.collapseLabel_ : this.label_;
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;

View File

@@ -115,7 +115,7 @@ ol.control.Control.prototype.setMap = function(map) {
this.map_ = map;
if (this.map_) {
var target = this.target_ ?
this.target_ : map.getOverlayContainerStopEvent();
this.target_ : map.getOverlayContainerStopEvent();
target.appendChild(this.element);
if (this.render !== ol.nullFunction) {
this.listenerKeys.push(ol.events.listen(map,

View File

@@ -34,7 +34,7 @@ ol.control.FullScreen = function(opt_options) {
* @type {string}
*/
this.cssClassName_ = options.className !== undefined ? options.className :
'ol-full-screen';
'ol-full-screen';
var label = options.label !== undefined ? options.label : '\u2922';
@@ -43,7 +43,7 @@ ol.control.FullScreen = function(opt_options) {
* @type {Node}
*/
this.labelNode_ = typeof label === 'string' ?
document.createTextNode(label) : label;
document.createTextNode(label) : label;
var labelActive = options.labelActive !== undefined ? options.labelActive : '\u00d7';
@@ -52,7 +52,7 @@ ol.control.FullScreen = function(opt_options) {
* @type {Node}
*/
this.labelActiveNode_ = typeof labelActive === 'string' ?
document.createTextNode(labelActive) : labelActive;
document.createTextNode(labelActive) : labelActive;
var tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen';
var button = document.createElement('button');

View File

@@ -31,7 +31,7 @@ ol.control.MousePosition = function(opt_options) {
element.className = options.className !== undefined ? options.className : 'ol-mouse-position';
var render = options.render ?
options.render : ol.control.MousePosition.render;
options.render : ol.control.MousePosition.render;
ol.control.Control.call(this, {
element: element,
@@ -122,7 +122,7 @@ ol.control.MousePosition.prototype.handleProjectionChanged_ = function() {
*/
ol.control.MousePosition.prototype.getCoordinateFormat = function() {
return /** @type {ol.CoordinateFormatType|undefined} */ (
this.get(ol.control.MousePosition.Property_.COORDINATE_FORMAT));
this.get(ol.control.MousePosition.Property_.COORDINATE_FORMAT));
};
@@ -135,7 +135,7 @@ ol.control.MousePosition.prototype.getCoordinateFormat = function() {
*/
ol.control.MousePosition.prototype.getProjection = function() {
return /** @type {ol.proj.Projection|undefined} */ (
this.get(ol.control.MousePosition.Property_.PROJECTION));
this.get(ol.control.MousePosition.Property_.PROJECTION));
};

View File

@@ -42,7 +42,7 @@ ol.control.OverviewMap = function(opt_options) {
* @type {boolean}
*/
this.collapsible_ = options.collapsible !== undefined ?
options.collapsible : true;
options.collapsible : true;
if (!this.collapsible_) {
this.collapsed_ = false;
@@ -80,7 +80,7 @@ ol.control.OverviewMap = function(opt_options) {
}
var activeLabel = (this.collapsible_ && !this.collapsed_) ?
this.collapseLabel_ : this.label_;
this.collapseLabel_ : this.label_;
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;

View File

@@ -112,7 +112,7 @@ ol.control.ScaleLine.LEADING_DIGITS = [1, 2, 5];
*/
ol.control.ScaleLine.prototype.getUnits = function() {
return /** @type {ol.control.ScaleLineUnits|undefined} */ (
this.get(ol.control.ScaleLine.Property_.UNITS));
this.get(ol.control.ScaleLine.Property_.UNITS));
};

View File

@@ -31,16 +31,16 @@ ol.control.Zoom = function(opt_options) {
var zoomOutLabel = options.zoomOutLabel !== undefined ? options.zoomOutLabel : '\u2212';
var zoomInTipLabel = options.zoomInTipLabel !== undefined ?
options.zoomInTipLabel : 'Zoom in';
options.zoomInTipLabel : 'Zoom in';
var zoomOutTipLabel = options.zoomOutTipLabel !== undefined ?
options.zoomOutTipLabel : 'Zoom out';
options.zoomOutTipLabel : 'Zoom out';
var inElement = document.createElement('button');
inElement.className = className + '-in';
inElement.setAttribute('type', 'button');
inElement.title = zoomInTipLabel;
inElement.appendChild(
typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel
typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel
);
ol.events.listen(inElement, ol.events.EventType.CLICK,
@@ -51,7 +51,7 @@ ol.control.Zoom = function(opt_options) {
outElement.setAttribute('type', 'button');
outElement.title = zoomOutTipLabel;
outElement.appendChild(
typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel
typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel
);
ol.events.listen(outElement, ol.events.EventType.CLICK,

View File

@@ -27,16 +27,16 @@ ol.control.ZoomToExtent = function(opt_options) {
this.extent_ = options.extent ? options.extent : null;
var className = options.className !== undefined ? options.className :
'ol-zoom-extent';
'ol-zoom-extent';
var label = options.label !== undefined ? options.label : 'E';
var tipLabel = options.tipLabel !== undefined ?
options.tipLabel : 'Fit to extent';
options.tipLabel : 'Fit to extent';
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(
typeof label === 'string' ? document.createTextNode(label) : label
typeof label === 'string' ? document.createTextNode(label) : label
);
ol.events.listen(button, ol.events.EventType.CLICK,

View File

@@ -80,7 +80,7 @@ ol.coordinate.closestOnSegment = function(coordinate, segment) {
var dx = x2 - x1;
var dy = y2 - y1;
var along = (dx === 0 && dy === 0) ? 0 :
((dx * (x0 - x1)) + (dy * (y0 - y1))) / ((dx * dx + dy * dy) || 0);
((dx * (x0 - x1)) + (dy * (y0 - y1))) / ((dx * dx + dy * dy) || 0);
var x, y;
if (along <= 0) {
x = x1;
@@ -121,13 +121,13 @@ ol.coordinate.closestOnSegment = function(coordinate, segment) {
*/
ol.coordinate.createStringXY = function(opt_fractionDigits) {
return (
/**
* @param {ol.Coordinate|undefined} coordinate Coordinate.
* @return {string} String XY.
*/
function(coordinate) {
return ol.coordinate.toStringXY(coordinate, opt_fractionDigits);
});
/**
* @param {ol.Coordinate|undefined} coordinate Coordinate.
* @return {string} String XY.
*/
function(coordinate) {
return ol.coordinate.toStringXY(coordinate, opt_fractionDigits);
});
};
@@ -195,8 +195,8 @@ ol.coordinate.degreesToStringHDMS = function(hemispheres, degrees, opt_fractionD
ol.coordinate.format = function(coordinate, template, opt_fractionDigits) {
if (coordinate) {
return template
.replace('{x}', coordinate[0].toFixed(opt_fractionDigits))
.replace('{y}', coordinate[1].toFixed(opt_fractionDigits));
.replace('{x}', coordinate[0].toFixed(opt_fractionDigits))
.replace('{y}', coordinate[1].toFixed(opt_fractionDigits));
} else {
return '';
}

View File

@@ -132,7 +132,7 @@ ol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) {
*/
ol.DeviceOrientation.prototype.getAlpha = function() {
return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientation.Property_.ALPHA));
this.get(ol.DeviceOrientation.Property_.ALPHA));
};
@@ -145,7 +145,7 @@ ol.DeviceOrientation.prototype.getAlpha = function() {
*/
ol.DeviceOrientation.prototype.getBeta = function() {
return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientation.Property_.BETA));
this.get(ol.DeviceOrientation.Property_.BETA));
};
@@ -158,7 +158,7 @@ ol.DeviceOrientation.prototype.getBeta = function() {
*/
ol.DeviceOrientation.prototype.getGamma = function() {
return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientation.Property_.GAMMA));
this.get(ol.DeviceOrientation.Property_.GAMMA));
};
@@ -171,7 +171,7 @@ ol.DeviceOrientation.prototype.getGamma = function() {
*/
ol.DeviceOrientation.prototype.getHeading = function() {
return /** @type {number|undefined} */ (
this.get(ol.DeviceOrientation.Property_.HEADING));
this.get(ol.DeviceOrientation.Property_.HEADING));
};
@@ -183,7 +183,7 @@ ol.DeviceOrientation.prototype.getHeading = function() {
*/
ol.DeviceOrientation.prototype.getTracking = function() {
return /** @type {boolean} */ (
this.get(ol.DeviceOrientation.Property_.TRACKING));
this.get(ol.DeviceOrientation.Property_.TRACKING));
};

View File

@@ -17,7 +17,7 @@ goog.require('ol.has');
ol.events.condition.altKeyOnly = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return (
originalEvent.altKey &&
originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -34,7 +34,7 @@ ol.events.condition.altKeyOnly = function(mapBrowserEvent) {
ol.events.condition.altShiftKeysOnly = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return (
originalEvent.altKey &&
originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
originalEvent.shiftKey);
};
@@ -138,7 +138,7 @@ ol.events.condition.doubleClick = function(mapBrowserEvent) {
ol.events.condition.noModifierKeys = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return (
!originalEvent.altKey &&
!originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -156,7 +156,7 @@ ol.events.condition.noModifierKeys = function(mapBrowserEvent) {
ol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return (
!originalEvent.altKey &&
!originalEvent.altKey &&
(ol.has.MAC ? originalEvent.metaKey : originalEvent.ctrlKey) &&
!originalEvent.shiftKey);
};
@@ -173,7 +173,7 @@ ol.events.condition.platformModifierKeyOnly = function(mapBrowserEvent) {
ol.events.condition.shiftKeyOnly = function(mapBrowserEvent) {
var originalEvent = mapBrowserEvent.originalEvent;
return (
!originalEvent.altKey &&
!originalEvent.altKey &&
!(originalEvent.metaKey || originalEvent.ctrlKey) &&
originalEvent.shiftKey);
};
@@ -191,7 +191,7 @@ ol.events.condition.targetNotEditable = function(mapBrowserEvent) {
var target = mapBrowserEvent.originalEvent.target;
var tagName = target.tagName;
return (
tagName !== 'INPUT' &&
tagName !== 'INPUT' &&
tagName !== 'SELECT' &&
tagName !== 'TEXTAREA');
};

View File

@@ -47,15 +47,15 @@ ol.events.Event = function(type) {
*/
ol.events.Event.prototype.preventDefault =
/**
* Stop event propagation.
* @function
* @override
* @api
*/
ol.events.Event.prototype.stopPropagation = function() {
this.propagationStopped = true;
};
/**
* Stop event propagation.
* @function
* @override
* @api
*/
ol.events.Event.prototype.stopPropagation = function() {
this.propagationStopped = true;
};
/**

View File

@@ -131,8 +131,8 @@ ol.events.EventTarget.prototype.getListeners = function(type) {
*/
ol.events.EventTarget.prototype.hasListener = function(opt_type) {
return opt_type ?
opt_type in this.listeners_ :
Object.keys(this.listeners_).length > 0;
opt_type in this.listeners_ :
Object.keys(this.listeners_).length > 0;
};

View File

@@ -140,7 +140,7 @@ ol.Feature.prototype.clone = function() {
*/
ol.Feature.prototype.getGeometry = function() {
return /** @type {ol.geom.Geometry|undefined} */ (
this.get(this.geometryName_));
this.get(this.geometryName_));
};
@@ -240,7 +240,7 @@ ol.Feature.prototype.setGeometry = function(geometry) {
ol.Feature.prototype.setStyle = function(style) {
this.style_ = style;
this.styleFunction_ = !style ?
undefined : ol.Feature.createStyleFunction(style);
undefined : ol.Feature.createStyleFunction(style);
this.changed();
};

View File

@@ -18,60 +18,60 @@ goog.require('ol.xml');
*/
ol.featureloader.loadFeaturesXhr = function(url, format, success, failure) {
return (
/**
* @param {ol.Extent} extent Extent.
* @param {number} resolution Resolution.
* @param {ol.proj.Projection} projection Projection.
* @this {ol.source.Vector|ol.VectorTile}
*/
function(extent, resolution, projection) {
var xhr = new XMLHttpRequest();
xhr.open('GET',
typeof url === 'function' ? url(extent, resolution, projection) : url,
true);
if (format.getType() == ol.format.FormatType.ARRAY_BUFFER) {
xhr.responseType = 'arraybuffer';
}
/**
* @param {ol.Extent} extent Extent.
* @param {number} resolution Resolution.
* @param {ol.proj.Projection} projection Projection.
* @this {ol.source.Vector|ol.VectorTile}
* @param {Event} event Event.
* @private
*/
function(extent, resolution, projection) {
var xhr = new XMLHttpRequest();
xhr.open('GET',
typeof url === 'function' ? url(extent, resolution, projection) : url,
true);
if (format.getType() == ol.format.FormatType.ARRAY_BUFFER) {
xhr.responseType = 'arraybuffer';
}
/**
* @param {Event} event Event.
* @private
*/
xhr.onload = function(event) {
// status will be 0 for file:// urls
if (!xhr.status || xhr.status >= 200 && xhr.status < 300) {
var type = format.getType();
/** @type {Document|Node|Object|string|undefined} */
var source;
if (type == ol.format.FormatType.JSON ||
xhr.onload = function(event) {
// status will be 0 for file:// urls
if (!xhr.status || xhr.status >= 200 && xhr.status < 300) {
var type = format.getType();
/** @type {Document|Node|Object|string|undefined} */
var source;
if (type == ol.format.FormatType.JSON ||
type == ol.format.FormatType.TEXT) {
source = xhr.responseText;
} else if (type == ol.format.FormatType.XML) {
source = xhr.responseXML;
if (!source) {
source = ol.xml.parse(xhr.responseText);
}
} else if (type == ol.format.FormatType.ARRAY_BUFFER) {
source = /** @type {ArrayBuffer} */ (xhr.response);
}
if (source) {
success.call(this, format.readFeatures(source,
{featureProjection: projection}),
format.readProjection(source));
} else {
failure.call(this);
source = xhr.responseText;
} else if (type == ol.format.FormatType.XML) {
source = xhr.responseXML;
if (!source) {
source = ol.xml.parse(xhr.responseText);
}
} else if (type == ol.format.FormatType.ARRAY_BUFFER) {
source = /** @type {ArrayBuffer} */ (xhr.response);
}
if (source) {
success.call(this, format.readFeatures(source,
{featureProjection: projection}),
format.readProjection(source));
} else {
failure.call(this);
}
}.bind(this);
/**
* @private
*/
xhr.onerror = function() {
} else {
failure.call(this);
}.bind(this);
xhr.send();
});
}
}.bind(this);
/**
* @private
*/
xhr.onerror = function() {
failure.call(this);
}.bind(this);
xhr.send();
});
};

View File

@@ -83,8 +83,8 @@ ol.format.EsriJSON.readGeometry_ = function(object, opt_options) {
}
var geometryReader = ol.format.EsriJSON.GEOMETRY_READERS_[type];
return /** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(
geometryReader(object), false, opt_options));
ol.format.Feature.transformWithOptions(
geometryReader(object), false, opt_options));
};
@@ -121,9 +121,11 @@ ol.format.EsriJSON.convertRings_ = function(rings, layout) {
// loop over all outer rings and see if they contain our hole.
for (i = outerRings.length - 1; i >= 0; i--) {
var outerRing = outerRings[i][0];
if (ol.extent.containsExtent(new ol.geom.LinearRing(
outerRing).getExtent(),
new ol.geom.LinearRing(hole).getExtent())) {
var containsHole = ol.extent.containsExtent(
new ol.geom.LinearRing(outerRing).getExtent(),
new ol.geom.LinearRing(hole).getExtent()
);
if (containsHole) {
// the hole is contained push it into our polygon
outerRings[i].push(hole);
matched = true;
@@ -468,7 +470,7 @@ ol.format.EsriJSON.prototype.readFeatureFromObject = function(
if (opt_options && opt_options.idField &&
esriJSONFeature.attributes[opt_options.idField]) {
feature.setId(/** @type {number} */(
esriJSONFeature.attributes[opt_options.idField]));
esriJSONFeature.attributes[opt_options.idField]));
}
if (esriJSONFeature.attributes) {
feature.setProperties(esriJSONFeature.attributes);
@@ -559,8 +561,8 @@ ol.format.EsriJSON.prototype.readProjectionFromObject = function(object) {
ol.format.EsriJSON.writeGeometry_ = function(geometry, opt_options) {
var geometryWriter = ol.format.EsriJSON.GEOMETRY_WRITERS_[geometry.getType()];
return geometryWriter(/** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, true, opt_options)),
opt_options);
ol.format.Feature.transformWithOptions(geometry, true, opt_options)),
opt_options);
};

View File

@@ -47,7 +47,7 @@ ol.format.Feature.prototype.getReadOptions = function(source, opt_options) {
if (opt_options) {
options = {
dataProjection: opt_options.dataProjection ?
opt_options.dataProjection : this.readProjection(source),
opt_options.dataProjection : this.readProjection(source),
featureProjection: opt_options.featureProjection
};
}
@@ -166,9 +166,9 @@ ol.format.Feature.prototype.writeGeometry = function(geometry, opt_options) {};
ol.format.Feature.transformWithOptions = function(
geometry, write, opt_options) {
var featureProjection = opt_options ?
ol.proj.get(opt_options.featureProjection) : null;
ol.proj.get(opt_options.featureProjection) : null;
var dataProjection = opt_options ?
ol.proj.get(opt_options.dataProjection) : null;
ol.proj.get(opt_options.dataProjection) : null;
/**
* @type {ol.geom.Geometry|ol.Extent}
*/

View File

@@ -229,7 +229,7 @@ ol.format.filter.between = function(propertyName, lowerBoundary, upperBoundary)
ol.format.filter.like = function(propertyName, pattern,
opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase) {
return new ol.format.filter.IsLike(propertyName, pattern,
opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase);
opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase);
};

View File

@@ -39,7 +39,7 @@ ol.format.GeoJSON = function(opt_options) {
*/
this.defaultDataProjection = ol.proj.get(
options.defaultDataProjection ?
options.defaultDataProjection : 'EPSG:4326');
options.defaultDataProjection : 'EPSG:4326');
if (options.featureProjection) {
@@ -69,8 +69,8 @@ ol.format.GeoJSON.readGeometry_ = function(object, opt_options) {
}
var geometryReader = ol.format.GeoJSON.GEOMETRY_READERS_[object.type];
return /** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(
geometryReader(object), false, opt_options));
ol.format.Feature.transformWithOptions(
geometryReader(object), false, opt_options));
};
@@ -163,8 +163,8 @@ ol.format.GeoJSON.readPolygonGeometry_ = function(object) {
ol.format.GeoJSON.writeGeometry_ = function(geometry, opt_options) {
var geometryWriter = ol.format.GeoJSON.GEOMETRY_WRITERS_[geometry.getType()];
return geometryWriter(/** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, true, opt_options)),
opt_options);
ol.format.Feature.transformWithOptions(geometry, true, opt_options)),
opt_options);
};

View File

@@ -35,7 +35,7 @@ ol.format.GML2 = function(opt_options) {
* @inheritDoc
*/
this.schemaLocation = options.schemaLocation ?
options.schemaLocation : ol.format.GML2.schemaLocation_;
options.schemaLocation : ol.format.GML2.schemaLocation_;
};
ol.inherits(ol.format.GML2, ol.format.GMLBase);
@@ -469,8 +469,8 @@ ol.format.GML2.prototype.getCoords_ = function(point, opt_srsName, opt_hasZ) {
axisOrientation = ol.proj.get(opt_srsName).getAxisOrientation();
}
var coords = ((axisOrientation.substr(0, 2) === 'en') ?
point[0] + ',' + point[1] :
point[1] + ',' + point[0]);
point[0] + ',' + point[1] :
point[1] + ',' + point[0]);
if (opt_hasZ) {
// For newly created points, Z can be undefined.
var z = point[2] || 0;

View File

@@ -52,20 +52,20 @@ ol.format.GML3 = function(opt_options) {
* @type {boolean}
*/
this.multiCurve_ = options.multiCurve !== undefined ?
options.multiCurve : true;
options.multiCurve : true;
/**
* @private
* @type {boolean}
*/
this.multiSurface_ = options.multiSurface !== undefined ?
options.multiSurface : true;
options.multiSurface : true;
/**
* @inheritDoc
*/
this.schemaLocation = options.schemaLocation ?
options.schemaLocation : ol.format.GML3.schemaLocation_;
options.schemaLocation : ol.format.GML3.schemaLocation_;
};
ol.inherits(ol.format.GML3, ol.format.GMLBase);
@@ -601,8 +601,8 @@ ol.format.GML3.prototype.getCoords_ = function(point, opt_srsName, opt_hasZ) {
axisOrientation = ol.proj.get(opt_srsName).getAxisOrientation();
}
var coords = ((axisOrientation.substr(0, 2) === 'en') ?
point[0] + ' ' + point[1] :
point[1] + ' ' + point[0]);
point[0] + ' ' + point[1] :
point[1] + ' ' + point[0]);
if (opt_hasZ) {
// For newly created points, Z can be undefined.
var z = point[2] || 0;

View File

@@ -167,12 +167,12 @@ ol.format.GMLBase.prototype.readFeaturesInternal = function(node, objectStack) {
var parsers = {};
for (i = 0, ii = featureTypes.length; i < ii; ++i) {
var featurePrefix = featureTypes[i].indexOf(':') === -1 ?
defaultPrefix : featureTypes[i].split(':')[0];
defaultPrefix : featureTypes[i].split(':')[0];
if (featurePrefix === p) {
parsers[featureTypes[i].split(':').pop()] =
(localName == 'featureMembers') ?
ol.xml.makeArrayPusher(this.readFeatureElement, this) :
ol.xml.makeReplacer(this.readFeatureElement, this);
ol.xml.makeArrayPusher(this.readFeatureElement, this) :
ol.xml.makeReplacer(this.readFeatureElement, this);
}
}
parsersNS[featureNS[p]] = parsers;
@@ -203,7 +203,7 @@ ol.format.GMLBase.prototype.readGeometryElement = function(node, objectStack) {
this.GEOMETRY_PARSERS_, node, objectStack, this);
if (geometry) {
return /** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, false, context));
ol.format.Feature.transformWithOptions(geometry, false, context));
} else {
return undefined;
}
@@ -590,5 +590,5 @@ ol.format.GMLBase.prototype.readFeaturesFromNode = function(node, opt_options) {
*/
ol.format.GMLBase.prototype.readProjectionFromNode = function(node) {
return ol.proj.get(this.srsName ? this.srsName :
node.firstElementChild.getAttribute('srsName'));
node.firstElementChild.getAttribute('srsName'));
};

View File

@@ -606,8 +606,8 @@ ol.format.GPX.writeWptType_ = function(node, coordinate, objectStack) {
// pass
}
var orderedKeys = (node.nodeName == 'rtept') ?
ol.format.GPX.RTEPT_TYPE_SEQUENCE_[namespaceURI] :
ol.format.GPX.WPT_TYPE_SEQUENCE_[namespaceURI];
ol.format.GPX.RTEPT_TYPE_SEQUENCE_[namespaceURI] :
ol.format.GPX.WPT_TYPE_SEQUENCE_[namespaceURI];
var values = ol.xml.makeSequence(properties, orderedKeys);
ol.xml.pushSerializeAndPop(/** @type {ol.XmlNodeStackItem} */
({node: node, 'properties': properties}),
@@ -629,7 +629,7 @@ ol.format.GPX.writeRte_ = function(node, feature, objectStack) {
var geometry = feature.getGeometry();
if (geometry) {
geometry = /** @type {ol.geom.LineString} */
(ol.format.Feature.transformWithOptions(geometry, true, options));
(ol.format.Feature.transformWithOptions(geometry, true, options));
context['geometryLayout'] = geometry.getLayout();
properties['rtept'] = geometry.getCoordinates();
}
@@ -656,7 +656,7 @@ ol.format.GPX.writeTrk_ = function(node, feature, objectStack) {
var geometry = feature.getGeometry();
if (geometry) {
geometry = /** @type {ol.geom.MultiLineString} */
(ol.format.Feature.transformWithOptions(geometry, true, options));
(ol.format.Feature.transformWithOptions(geometry, true, options));
properties['trkseg'] = geometry.getLineStrings();
}
var parentNode = objectStack[objectStack.length - 1].node;
@@ -697,7 +697,7 @@ ol.format.GPX.writeWpt_ = function(node, feature, objectStack) {
var geometry = feature.getGeometry();
if (geometry) {
geometry = /** @type {ol.geom.Point} */
(ol.format.Feature.transformWithOptions(geometry, true, options));
(ol.format.Feature.transformWithOptions(geometry, true, options));
context['geometryLayout'] = geometry.getLayout();
ol.format.GPX.writeWptType_(node, geometry.getCoordinates(), objectStack);
}

View File

@@ -35,7 +35,7 @@ ol.format.IGC = function(opt_options) {
* @type {ol.format.IGCZ}
*/
this.altitudeMode_ = options.altitudeMode ?
options.altitudeMode : ol.format.IGCZ.NONE;
options.altitudeMode : ol.format.IGCZ.NONE;
};
ol.inherits(ol.format.IGC, ol.format.TextFeature);
@@ -158,7 +158,7 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) {
}
var lineString = new ol.geom.LineString(null);
var layout = altitudeMode == ol.format.IGCZ.NONE ?
ol.geom.GeometryLayout.XYM : ol.geom.GeometryLayout.XYZM;
ol.geom.GeometryLayout.XYM : ol.geom.GeometryLayout.XYZM;
lineString.setFlatCoordinates(layout, flatCoordinates);
var feature = new ol.Feature(ol.format.Feature.transformWithOptions(
lineString, false, opt_options));

View File

@@ -66,21 +66,21 @@ ol.format.KML = function(opt_options) {
* @type {Array.<ol.style.Style>}
*/
this.defaultStyle_ = options.defaultStyle ?
options.defaultStyle : ol.format.KML.DEFAULT_STYLE_ARRAY_;
options.defaultStyle : ol.format.KML.DEFAULT_STYLE_ARRAY_;
/**
* @private
* @type {boolean}
*/
this.extractStyles_ = options.extractStyles !== undefined ?
options.extractStyles : true;
options.extractStyles : true;
/**
* @private
* @type {boolean}
*/
this.writeStyles_ = options.writeStyles !== undefined ?
options.writeStyles : true;
options.writeStyles : true;
/**
* @private
@@ -93,7 +93,7 @@ ol.format.KML = function(opt_options) {
* @type {boolean}
*/
this.showPointNames_ = options.showPointNames !== undefined ?
options.showPointNames : true;
options.showPointNames : true;
};
ol.inherits(ol.format.KML, ol.format.XMLFeature);
@@ -353,53 +353,53 @@ ol.format.KML.createFeatureStyleFunction_ = function(style, styleUrl,
defaultStyle, sharedStyles, showPointNames) {
return (
/**
/**
* @param {number} resolution Resolution.
* @return {Array.<ol.style.Style>} Style.
* @this {ol.Feature}
*/
function(resolution) {
var drawName = showPointNames;
/** @type {ol.style.Style|undefined} */
var nameStyle;
var name = '';
if (drawName) {
if (this.getGeometry()) {
drawName = (this.getGeometry().getType() ===
function(resolution) {
var drawName = showPointNames;
/** @type {ol.style.Style|undefined} */
var nameStyle;
var name = '';
if (drawName) {
if (this.getGeometry()) {
drawName = (this.getGeometry().getType() ===
ol.geom.GeometryType.POINT);
}
}
}
if (drawName) {
name = /** @type {string} */ (this.get('name'));
drawName = drawName && name;
}
if (drawName) {
name = /** @type {string} */ (this.get('name'));
drawName = drawName && name;
}
if (style) {
if (drawName) {
nameStyle = ol.format.KML.createNameStyleFunction_(style[0],
name);
return style.concat(nameStyle);
}
return style;
}
if (styleUrl) {
var foundStyle = ol.format.KML.findStyle_(styleUrl, defaultStyle,
sharedStyles);
if (drawName) {
nameStyle = ol.format.KML.createNameStyleFunction_(foundStyle[0],
name);
return foundStyle.concat(nameStyle);
}
return foundStyle;
}
if (style) {
if (drawName) {
nameStyle = ol.format.KML.createNameStyleFunction_(defaultStyle[0],
nameStyle = ol.format.KML.createNameStyleFunction_(style[0],
name);
return defaultStyle.concat(nameStyle);
return style.concat(nameStyle);
}
return defaultStyle;
});
return style;
}
if (styleUrl) {
var foundStyle = ol.format.KML.findStyle_(styleUrl, defaultStyle,
sharedStyles);
if (drawName) {
nameStyle = ol.format.KML.createNameStyleFunction_(foundStyle[0],
name);
return foundStyle.concat(nameStyle);
}
return foundStyle;
}
if (drawName) {
nameStyle = ol.format.KML.createNameStyleFunction_(defaultStyle[0],
name);
return defaultStyle.concat(nameStyle);
}
return defaultStyle;
});
};
@@ -549,7 +549,7 @@ ol.format.KML.readStyleMapValue_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(undefined,
ol.format.KML.STYLE_MAP_PARSERS_, node, objectStack);
};
/**
/**
* @param {Node} node Node.
* @param {Array.<*>} objectStack Object stack.
* @private
@@ -807,7 +807,7 @@ ol.format.KML.readGxTrack_ = function(node, objectStack) {
var whens = gxTrackObject.whens;
var i, ii;
for (i = 0, ii = Math.min(flatCoordinates.length, whens.length); i < ii;
++i) {
++i) {
flatCoordinates[4 * i + 3] = whens[i];
}
var lineString = new ol.geom.LineString(null);
@@ -1021,23 +1021,23 @@ ol.format.KML.readStyle_ = function(node, objectStack) {
}
var fillStyle = /** @type {ol.style.Fill} */
('fillStyle' in styleObject ?
styleObject['fillStyle'] : ol.format.KML.DEFAULT_FILL_STYLE_);
styleObject['fillStyle'] : ol.format.KML.DEFAULT_FILL_STYLE_);
var fill = /** @type {boolean|undefined} */ (styleObject['fill']);
if (fill !== undefined && !fill) {
fillStyle = null;
}
var imageStyle = /** @type {ol.style.Image} */
('imageStyle' in styleObject ?
styleObject['imageStyle'] : ol.format.KML.DEFAULT_IMAGE_STYLE_);
styleObject['imageStyle'] : ol.format.KML.DEFAULT_IMAGE_STYLE_);
if (imageStyle == ol.format.KML.DEFAULT_NO_IMAGE_STYLE_) {
imageStyle = undefined;
}
var textStyle = /** @type {ol.style.Text} */
('textStyle' in styleObject ?
styleObject['textStyle'] : ol.format.KML.DEFAULT_TEXT_STYLE_);
styleObject['textStyle'] : ol.format.KML.DEFAULT_TEXT_STYLE_);
var strokeStyle = /** @type {ol.style.Stroke} */
('strokeStyle' in styleObject ?
styleObject['strokeStyle'] : ol.format.KML.DEFAULT_STROKE_STYLE_);
styleObject['strokeStyle'] : ol.format.KML.DEFAULT_STROKE_STYLE_);
var outline = /** @type {boolean|undefined} */
(styleObject['outline']);
if (outline !== undefined && !outline) {
@@ -1092,13 +1092,13 @@ ol.format.KML.setCommonGeometryProperties_ = function(multiGeometry,
ol.format.KML.DataParser_ = function(node, objectStack) {
var name = node.getAttribute('name');
ol.xml.parseNode(ol.format.KML.DATA_PARSERS_, node, objectStack);
var featureObject =
/** @type {Object} */ (objectStack[objectStack.length - 1]);
var featureObject = /** @type {Object} */ (objectStack[objectStack.length - 1]);
if (name !== null) {
featureObject[name] = featureObject.value;
} else if (featureObject.displayName !== null) {
featureObject[featureObject.displayName] = featureObject.value;
}
delete featureObject['value'];
};
@@ -2144,16 +2144,16 @@ ol.format.KML.writeDataNode_ = function(node, pair, objectStack) {
if (typeof value == 'object') {
if (value !== null && value.displayName) {
ol.xml.pushSerializeAndPop(context, ol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_,
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.displayName], objectStack, ['displayName']);
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.displayName], objectStack, ['displayName']);
}
if (value !== null && value.value) {
ol.xml.pushSerializeAndPop(context, ol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_,
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.value], objectStack, ['value']);
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value.value], objectStack, ['value']);
}
} else {
ol.xml.pushSerializeAndPop(context, ol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_,
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value], objectStack, ['value']);
ol.xml.OBJECT_PROPERTY_NODE_FACTORY, [value], objectStack, ['value']);
}
};
@@ -2206,7 +2206,7 @@ ol.format.KML.writeExtendedData_ = function(node, namesAndValues, objectStack) {
for (var i = 0; i < length; i++) {
ol.xml.pushSerializeAndPop(context, ol.format.KML.EXTENDEDDATA_NODE_SERIALIZERS_,
ol.format.KML.DATA_NODE_FACTORY_, [{name: names[i], value: values[i]}], objectStack);
ol.format.KML.DATA_NODE_FACTORY_, [{name: names[i], value: values[i]}], objectStack);
}
};
@@ -2420,7 +2420,7 @@ ol.format.KML.writePlacemark_ = function(node, feature, objectStack) {
var sequence = ol.xml.makeSequence(properties, keys);
var namesAndValues = {names: keys, values: sequence};
ol.xml.pushSerializeAndPop(context, ol.format.KML.PLACEMARK_SERIALIZERS_,
ol.format.KML.EXTENDEDDATA_NODE_FACTORY_, [namesAndValues], objectStack);
ol.format.KML.EXTENDEDDATA_NODE_FACTORY_, [namesAndValues], objectStack);
}
var styleFunction = feature.getStyleFunction();

View File

@@ -49,7 +49,7 @@ ol.format.MVT = function(opt_options) {
* (Array.<number>|Array.<Array.<number>>),Object.<string,*>,number)}
*/
this.featureClass_ = options.featureClass ?
options.featureClass : ol.render.Feature;
options.featureClass : ol.render.Feature;
/**
* @private
@@ -124,7 +124,7 @@ ol.format.MVT.prototype.readRenderFeature_ = function(rawFeature, layer) {
var geometryType;
if (type === 1) {
geometryType = coords.length === 1 ?
ol.geom.GeometryType.POINT : ol.geom.GeometryType.MULTI_POINT;
ol.geom.GeometryType.POINT : ol.geom.GeometryType.MULTI_POINT;
} else if (type === 2) {
if (coords.length === 1) {
geometryType = ol.geom.GeometryType.LINE_STRING;
@@ -238,7 +238,7 @@ ol.format.MVT.readGeometry_ = function(rawFeature) {
var geom;
if (type === 1) {
geom = coords.length === 1 ?
new ol.geom.Point(null) : new ol.geom.MultiPoint(null);
new ol.geom.Point(null) : new ol.geom.MultiPoint(null);
} else if (type === 2) {
if (coords.length === 1) {
geom = new ol.geom.LineString(null);

View File

@@ -386,13 +386,13 @@ ol.format.OWS.REQUEST_METHOD_PARSERS_ = ol.xml.makeStructureNS(
*/
ol.format.OWS.SERVICE_CONTACT_PARSERS_ =
ol.xml.makeStructureNS(
ol.format.OWS.NAMESPACE_URIS_, {
'IndividualName': ol.xml.makeObjectPropertySetter(
ol.format.XSD.readString),
'PositionName': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ContactInfo': ol.xml.makeObjectPropertySetter(
ol.format.OWS.readContactInfo_)
});
ol.format.OWS.NAMESPACE_URIS_, {
'IndividualName': ol.xml.makeObjectPropertySetter(
ol.format.XSD.readString),
'PositionName': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ContactInfo': ol.xml.makeObjectPropertySetter(
ol.format.OWS.readContactInfo_)
});
/**
@@ -402,12 +402,12 @@ ol.format.OWS.SERVICE_CONTACT_PARSERS_ =
*/
ol.format.OWS.SERVICE_IDENTIFICATION_PARSERS_ =
ol.xml.makeStructureNS(
ol.format.OWS.NAMESPACE_URIS_, {
'Title': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ServiceTypeVersion': ol.xml.makeObjectPropertySetter(
ol.format.XSD.readString),
'ServiceType': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString)
});
ol.format.OWS.NAMESPACE_URIS_, {
'Title': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ServiceTypeVersion': ol.xml.makeObjectPropertySetter(
ol.format.XSD.readString),
'ServiceType': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString)
});
/**
@@ -417,9 +417,9 @@ ol.format.OWS.SERVICE_IDENTIFICATION_PARSERS_ =
*/
ol.format.OWS.SERVICE_PROVIDER_PARSERS_ =
ol.xml.makeStructureNS(
ol.format.OWS.NAMESPACE_URIS_, {
'ProviderName': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ProviderSite': ol.xml.makeObjectPropertySetter(ol.format.XLink.readHref),
'ServiceContact': ol.xml.makeObjectPropertySetter(
ol.format.OWS.readServiceContact_)
});
ol.format.OWS.NAMESPACE_URIS_, {
'ProviderName': ol.xml.makeObjectPropertySetter(ol.format.XSD.readString),
'ProviderSite': ol.xml.makeObjectPropertySetter(ol.format.XLink.readHref),
'ServiceContact': ol.xml.makeObjectPropertySetter(
ol.format.OWS.readServiceContact_)
});

View File

@@ -46,7 +46,7 @@ ol.format.Polyline = function(opt_options) {
* @type {ol.geom.GeometryLayout}
*/
this.geometryLayout_ = options.geometryLayout ?
options.geometryLayout : ol.geom.GeometryLayout.XY;
options.geometryLayout : ol.geom.GeometryLayout.XY;
};
ol.inherits(ol.format.Polyline, ol.format.TextFeature);
@@ -332,9 +332,9 @@ ol.format.Polyline.prototype.readGeometryFromText = function(text, opt_options)
flatCoordinates, 0, flatCoordinates.length, stride);
return /** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(
new ol.geom.LineString(coordinates, this.geometryLayout_), false,
this.adaptOptions(opt_options)));
ol.format.Feature.transformWithOptions(
new ol.geom.LineString(coordinates, this.geometryLayout_), false,
this.adaptOptions(opt_options)));
};
@@ -388,8 +388,8 @@ ol.format.Polyline.prototype.writeGeometry;
*/
ol.format.Polyline.prototype.writeGeometryText = function(geometry, opt_options) {
geometry = /** @type {ol.geom.LineString} */
(ol.format.Feature.transformWithOptions(
geometry, true, this.adaptOptions(opt_options)));
(ol.format.Feature.transformWithOptions(
geometry, true, this.adaptOptions(opt_options)));
var flatCoordinates = geometry.getFlatCoordinates();
var stride = geometry.getStride();
ol.geom.flat.flip.flipXY(

View File

@@ -45,7 +45,7 @@ ol.format.TopoJSON = function(opt_options) {
*/
this.defaultDataProjection = ol.proj.get(
options.defaultDataProjection ?
options.defaultDataProjection : 'EPSG:4326');
options.defaultDataProjection : 'EPSG:4326');
};
ol.inherits(ol.format.TopoJSON, ol.format.JSONFeature);
@@ -259,7 +259,7 @@ ol.format.TopoJSON.readFeatureFromGeometry_ = function(object, arcs,
}
var feature = new ol.Feature();
feature.setGeometry(/** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, false, opt_options)));
ol.format.Feature.transformWithOptions(geometry, false, opt_options)));
if (object.id !== undefined) {
feature.setId(object.id);
}
@@ -316,13 +316,13 @@ ol.format.TopoJSON.prototype.readFeaturesFromObject = function(
}
if (topoJSONFeatures[objectName].type === 'GeometryCollection') {
feature = /** @type {TopoJSONGeometryCollection} */
(topoJSONFeatures[objectName]);
(topoJSONFeatures[objectName]);
features.push.apply(features,
ol.format.TopoJSON.readFeaturesFromGeometryCollection_(
feature, arcs, scale, translate, property, objectName, opt_options));
} else {
feature = /** @type {TopoJSONGeometry} */
(topoJSONFeatures[objectName]);
(topoJSONFeatures[objectName]);
features.push(ol.format.TopoJSON.readFeatureFromGeometry_(
feature, arcs, scale, translate, property, objectName, opt_options));
}

View File

@@ -47,15 +47,15 @@ ol.format.WFS = function(opt_options) {
* @type {ol.format.GMLBase}
*/
this.gmlFormat_ = options.gmlFormat ?
options.gmlFormat : new ol.format.GML3();
options.gmlFormat : new ol.format.GML3();
/**
* @private
* @type {string}
*/
this.schemaLocation_ = options.schemaLocation ?
options.schemaLocation :
ol.format.WFS.SCHEMA_LOCATIONS[ol.format.WFS.DEFAULT_VERSION];
options.schemaLocation :
ol.format.WFS.SCHEMA_LOCATIONS[ol.format.WFS.DEFAULT_VERSION];
ol.format.XMLFeature.call(this);
};
@@ -414,7 +414,7 @@ ol.format.WFS.writeOgcFidFilter_ = function(node, fid, objectStack) {
*/
ol.format.WFS.getTypeName_ = function(featurePrefix, featureType) {
featurePrefix = featurePrefix ? featurePrefix :
ol.format.WFS.FEATURE_PREFIX;
ol.format.WFS.FEATURE_PREFIX;
var prefix = featurePrefix + ':';
// The featureType already contains the prefix.
if (featureType.indexOf(prefix) === 0) {
@@ -477,9 +477,9 @@ ol.format.WFS.writeUpdate_ = function(node, feature, objectStack) {
ol.xml.pushSerializeAndPop(/** @type {ol.XmlNodeStackItem} */ (
{'gmlVersion': context['gmlVersion'], node: node,
'hasZ': context['hasZ'], 'srsName': context['srsName']}),
ol.format.WFS.TRANSACTION_SERIALIZERS_,
ol.xml.makeSimpleNodeFactory('Property'), values,
objectStack);
ol.format.WFS.TRANSACTION_SERIALIZERS_,
ol.xml.makeSimpleNodeFactory('Property'), values,
objectStack);
ol.format.WFS.writeOgcFidFilter_(node, fid, objectStack);
}
};
@@ -964,7 +964,7 @@ ol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes,
var objectStack = [];
var node = ol.xml.createElementNS(ol.format.WFS.WFSNS, 'Transaction');
var version = options.version ?
options.version : ol.format.WFS.DEFAULT_VERSION;
options.version : ol.format.WFS.DEFAULT_VERSION;
var gmlVersion = version === '1.0.0' ? 2 : 3;
node.setAttribute('service', 'WFS');
node.setAttribute('version', version);
@@ -980,9 +980,10 @@ ol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes,
var schemaLocation = ol.format.WFS.SCHEMA_LOCATIONS[version];
ol.xml.setAttributeNS(node, 'http://www.w3.org/2001/XMLSchema-instance',
'xsi:schemaLocation', schemaLocation);
var featurePrefix = options.featurePrefix ? options.featurePrefix : ol.format.WFS.FEATURE_PREFIX;
if (inserts) {
obj = {node: node, 'featureNS': options.featureNS,
'featureType': options.featureType, 'featurePrefix': options.featurePrefix,
'featureType': options.featureType, 'featurePrefix': featurePrefix,
'gmlVersion': gmlVersion, 'hasZ': options.hasZ, 'srsName': options.srsName};
ol.obj.assign(obj, baseObj);
ol.xml.pushSerializeAndPop(obj,
@@ -992,7 +993,7 @@ ol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes,
}
if (updates) {
obj = {node: node, 'featureNS': options.featureNS,
'featureType': options.featureType, 'featurePrefix': options.featurePrefix,
'featureType': options.featureType, 'featurePrefix': featurePrefix,
'gmlVersion': gmlVersion, 'hasZ': options.hasZ, 'srsName': options.srsName};
ol.obj.assign(obj, baseObj);
ol.xml.pushSerializeAndPop(obj,
@@ -1002,7 +1003,7 @@ ol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes,
}
if (deletes) {
ol.xml.pushSerializeAndPop({node: node, 'featureNS': options.featureNS,
'featureType': options.featureType, 'featurePrefix': options.featurePrefix,
'featureType': options.featureType, 'featurePrefix': featurePrefix,
'gmlVersion': gmlVersion, 'srsName': options.srsName},
ol.format.WFS.TRANSACTION_SERIALIZERS_,
ol.xml.makeSimpleNodeFactory('Delete'), deletes,
@@ -1010,7 +1011,7 @@ ol.format.WFS.prototype.writeTransaction = function(inserts, updates, deletes,
}
if (options.nativeElements) {
ol.xml.pushSerializeAndPop({node: node, 'featureNS': options.featureNS,
'featureType': options.featureType, 'featurePrefix': options.featurePrefix,
'featureType': options.featureType, 'featurePrefix': featurePrefix,
'gmlVersion': gmlVersion, 'srsName': options.srsName},
ol.format.WFS.TRANSACTION_SERIALIZERS_,
ol.xml.makeSimpleNodeFactory('Native'), options.nativeElements,

View File

@@ -38,7 +38,7 @@ ol.format.WKT = function(opt_options) {
* @private
*/
this.splitCollection_ = options.splitCollection !== undefined ?
options.splitCollection : false;
options.splitCollection : false;
};
ol.inherits(ol.format.WKT, ol.format.TextFeature);
@@ -330,7 +330,7 @@ ol.format.WKT.prototype.readGeometryFromText = function(text, opt_options) {
var geometry = this.parse_(text);
if (geometry) {
return /** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, false, opt_options));
ol.format.Feature.transformWithOptions(geometry, false, opt_options));
} else {
return null;
}
@@ -405,7 +405,7 @@ ol.format.WKT.prototype.writeGeometry;
*/
ol.format.WKT.prototype.writeGeometryText = function(geometry, opt_options) {
return ol.format.WKT.encode_(/** @type {ol.geom.Geometry} */ (
ol.format.Feature.transformWithOptions(geometry, true, opt_options)));
ol.format.Feature.transformWithOptions(geometry, true, opt_options)));
};
@@ -535,7 +535,7 @@ ol.format.WKT.Lexer.prototype.readNumber_ = function() {
}
c = this.nextChar_();
} while (
this.isNumeric_(c, decimal) ||
this.isNumeric_(c, decimal) ||
// if we haven't detected a scientific number before, 'e' or 'E'
// hint that we should continue to read
!scientificNotation && (c == 'e' || c == 'E') ||

View File

@@ -71,7 +71,7 @@ ol.format.WMSCapabilities.prototype.readFromNode = function(node) {
*/
ol.format.WMSCapabilities.readAttribution_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.ATTRIBUTION_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.ATTRIBUTION_PARSERS_, node, objectStack);
};
@@ -110,9 +110,9 @@ ol.format.WMSCapabilities.readBoundingBox_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readEXGeographicBoundingBox_ = function(node, objectStack) {
var geographicBoundingBox = ol.xml.pushParseAndPop(
{},
ol.format.WMSCapabilities.EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS_,
node, objectStack);
{},
ol.format.WMSCapabilities.EX_GEOGRAPHIC_BOUNDING_BOX_PARSERS_,
node, objectStack);
if (!geographicBoundingBox) {
return undefined;
}
@@ -143,7 +143,7 @@ ol.format.WMSCapabilities.readEXGeographicBoundingBox_ = function(node, objectSt
*/
ol.format.WMSCapabilities.readCapability_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.CAPABILITY_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.CAPABILITY_PARSERS_, node, objectStack);
};
@@ -155,7 +155,7 @@ ol.format.WMSCapabilities.readCapability_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readService_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.SERVICE_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.SERVICE_PARSERS_, node, objectStack);
};
@@ -167,8 +167,8 @@ ol.format.WMSCapabilities.readService_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readContactInformation_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.CONTACT_INFORMATION_PARSERS_,
node, objectStack);
{}, ol.format.WMSCapabilities.CONTACT_INFORMATION_PARSERS_,
node, objectStack);
};
@@ -180,8 +180,8 @@ ol.format.WMSCapabilities.readContactInformation_ = function(node, objectStack)
*/
ol.format.WMSCapabilities.readContactPersonPrimary_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.CONTACT_PERSON_PARSERS_,
node, objectStack);
{}, ol.format.WMSCapabilities.CONTACT_PERSON_PARSERS_,
node, objectStack);
};
@@ -193,8 +193,8 @@ ol.format.WMSCapabilities.readContactPersonPrimary_ = function(node, objectStack
*/
ol.format.WMSCapabilities.readContactAddress_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.CONTACT_ADDRESS_PARSERS_,
node, objectStack);
{}, ol.format.WMSCapabilities.CONTACT_ADDRESS_PARSERS_,
node, objectStack);
};
@@ -206,7 +206,7 @@ ol.format.WMSCapabilities.readContactAddress_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readException_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
[], ol.format.WMSCapabilities.EXCEPTION_PARSERS_, node, objectStack);
[], ol.format.WMSCapabilities.EXCEPTION_PARSERS_, node, objectStack);
};
@@ -218,7 +218,7 @@ ol.format.WMSCapabilities.readException_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readCapabilityLayer_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack);
};
@@ -233,7 +233,7 @@ ol.format.WMSCapabilities.readLayer_ = function(node, objectStack) {
(objectStack[objectStack.length - 1]);
var layerObject = ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack);
if (!layerObject) {
return undefined;
@@ -246,7 +246,7 @@ ol.format.WMSCapabilities.readLayer_ = function(node, objectStack) {
layerObject['queryable'] = queryable !== undefined ? queryable : false;
var cascaded = ol.format.XSD.readNonNegativeIntegerString(
node.getAttribute('cascaded'));
node.getAttribute('cascaded'));
if (cascaded === undefined) {
cascaded = parentLayerObject['cascaded'];
}
@@ -279,7 +279,7 @@ ol.format.WMSCapabilities.readLayer_ = function(node, objectStack) {
}
layerObject['fixedHeight'] = fixedHeight;
// See 7.2.4.8
// See 7.2.4.8
var addKeys = ['Style', 'CRS', 'AuthorityURL'];
addKeys.forEach(function(key) {
if (key in parentLayerObject) {
@@ -314,9 +314,9 @@ ol.format.WMSCapabilities.readDimension_ = function(node, objectStack) {
'unitSymbol': node.getAttribute('unitSymbol'),
'default': node.getAttribute('default'),
'multipleValues': ol.format.XSD.readBooleanString(
node.getAttribute('multipleValues')),
node.getAttribute('multipleValues')),
'nearestValue': ol.format.XSD.readBooleanString(
node.getAttribute('nearestValue')),
node.getAttribute('nearestValue')),
'current': ol.format.XSD.readBooleanString(node.getAttribute('current')),
'values': ol.format.XSD.readString(node)
};
@@ -332,8 +332,8 @@ ol.format.WMSCapabilities.readDimension_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readFormatOnlineresource_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.FORMAT_ONLINERESOURCE_PARSERS_,
node, objectStack);
{}, ol.format.WMSCapabilities.FORMAT_ONLINERESOURCE_PARSERS_,
node, objectStack);
};
@@ -345,7 +345,7 @@ ol.format.WMSCapabilities.readFormatOnlineresource_ = function(node, objectStack
*/
ol.format.WMSCapabilities.readRequest_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.REQUEST_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.REQUEST_PARSERS_, node, objectStack);
};
@@ -357,7 +357,7 @@ ol.format.WMSCapabilities.readRequest_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readDCPType_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.DCPTYPE_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.DCPTYPE_PARSERS_, node, objectStack);
};
@@ -369,7 +369,7 @@ ol.format.WMSCapabilities.readDCPType_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readHTTP_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.HTTP_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.HTTP_PARSERS_, node, objectStack);
};
@@ -381,7 +381,7 @@ ol.format.WMSCapabilities.readHTTP_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readOperationType_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.OPERATIONTYPE_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.OPERATIONTYPE_PARSERS_, node, objectStack);
};
@@ -448,7 +448,7 @@ ol.format.WMSCapabilities.readMetadataURL_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readStyle_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
{}, ol.format.WMSCapabilities.STYLE_PARSERS_, node, objectStack);
{}, ol.format.WMSCapabilities.STYLE_PARSERS_, node, objectStack);
};
@@ -460,7 +460,7 @@ ol.format.WMSCapabilities.readStyle_ = function(node, objectStack) {
*/
ol.format.WMSCapabilities.readKeywordList_ = function(node, objectStack) {
return ol.xml.pushParseAndPop(
[], ol.format.WMSCapabilities.KEYWORDLIST_PARSERS_, node, objectStack);
[], ol.format.WMSCapabilities.KEYWORDLIST_PARSERS_, node, objectStack);
};

View File

@@ -64,7 +64,7 @@ ol.format.WMTSCapabilities.prototype.readFromNode = function(node) {
}
WMTSCapabilityObject['version'] = version;
WMTSCapabilityObject = ol.xml.pushParseAndPop(WMTSCapabilityObject,
ol.format.WMTSCapabilities.PARSERS_, node, []);
ol.format.WMTSCapabilities.PARSERS_, node, []);
return WMTSCapabilityObject ? WMTSCapabilityObject : null;
};
@@ -77,7 +77,7 @@ ol.format.WMTSCapabilities.prototype.readFromNode = function(node) {
*/
ol.format.WMTSCapabilities.readContents_ = function(node, objectStack) {
return ol.xml.pushParseAndPop({},
ol.format.WMTSCapabilities.CONTENTS_PARSERS_, node, objectStack);
ol.format.WMTSCapabilities.CONTENTS_PARSERS_, node, objectStack);
};
@@ -89,7 +89,7 @@ ol.format.WMTSCapabilities.readContents_ = function(node, objectStack) {
*/
ol.format.WMTSCapabilities.readLayer_ = function(node, objectStack) {
return ol.xml.pushParseAndPop({},
ol.format.WMTSCapabilities.LAYER_PARSERS_, node, objectStack);
ol.format.WMTSCapabilities.LAYER_PARSERS_, node, objectStack);
};

View File

@@ -3,15 +3,16 @@
goog.provide('ol.Geolocation');
goog.require('ol');
goog.require('ol.Object');
goog.require('ol.GeolocationProperty');
goog.require('ol.Object');
goog.require('ol.Sphere');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.geom.Polygon');
goog.require('ol.has');
goog.require('ol.math');
goog.require('ol.proj');
goog.require('ol.sphere.WGS84');
goog.require('ol.proj.EPSG4326');
/**
@@ -59,6 +60,12 @@ ol.Geolocation = function(opt_options) {
*/
this.transform_ = ol.proj.identityTransform;
/**
* @private
* @type {ol.Sphere}
*/
this.sphere_ = new ol.Sphere(ol.proj.EPSG4326.RADIUS);
/**
* @private
* @type {number|undefined}
@@ -140,9 +147,9 @@ ol.Geolocation.prototype.positionChange_ = function(position) {
coords.altitude === null ? undefined : coords.altitude);
this.set(ol.GeolocationProperty.ALTITUDE_ACCURACY,
coords.altitudeAccuracy === null ?
undefined : coords.altitudeAccuracy);
undefined : coords.altitudeAccuracy);
this.set(ol.GeolocationProperty.HEADING, coords.heading === null ?
undefined : ol.math.toRadians(coords.heading));
undefined : ol.math.toRadians(coords.heading));
if (!this.position_) {
this.position_ = [coords.longitude, coords.latitude];
} else {
@@ -154,7 +161,7 @@ ol.Geolocation.prototype.positionChange_ = function(position) {
this.set(ol.GeolocationProperty.SPEED,
coords.speed === null ? undefined : coords.speed);
var geometry = ol.geom.Polygon.circular(
ol.sphere.WGS84, this.position_, coords.accuracy);
this.sphere_, this.position_, coords.accuracy);
geometry.applyTransform(this.transform_);
this.set(ol.GeolocationProperty.ACCURACY_GEOMETRY, geometry);
this.changed();
@@ -186,7 +193,7 @@ ol.Geolocation.prototype.positionError_ = function(error) {
*/
ol.Geolocation.prototype.getAccuracy = function() {
return /** @type {number|undefined} */ (
this.get(ol.GeolocationProperty.ACCURACY));
this.get(ol.GeolocationProperty.ACCURACY));
};
@@ -198,7 +205,7 @@ ol.Geolocation.prototype.getAccuracy = function() {
*/
ol.Geolocation.prototype.getAccuracyGeometry = function() {
return /** @type {?ol.geom.Polygon} */ (
this.get(ol.GeolocationProperty.ACCURACY_GEOMETRY) || null);
this.get(ol.GeolocationProperty.ACCURACY_GEOMETRY) || null);
};
@@ -211,7 +218,7 @@ ol.Geolocation.prototype.getAccuracyGeometry = function() {
*/
ol.Geolocation.prototype.getAltitude = function() {
return /** @type {number|undefined} */ (
this.get(ol.GeolocationProperty.ALTITUDE));
this.get(ol.GeolocationProperty.ALTITUDE));
};
@@ -224,7 +231,7 @@ ol.Geolocation.prototype.getAltitude = function() {
*/
ol.Geolocation.prototype.getAltitudeAccuracy = function() {
return /** @type {number|undefined} */ (
this.get(ol.GeolocationProperty.ALTITUDE_ACCURACY));
this.get(ol.GeolocationProperty.ALTITUDE_ACCURACY));
};
@@ -236,7 +243,7 @@ ol.Geolocation.prototype.getAltitudeAccuracy = function() {
*/
ol.Geolocation.prototype.getHeading = function() {
return /** @type {number|undefined} */ (
this.get(ol.GeolocationProperty.HEADING));
this.get(ol.GeolocationProperty.HEADING));
};
@@ -249,7 +256,7 @@ ol.Geolocation.prototype.getHeading = function() {
*/
ol.Geolocation.prototype.getPosition = function() {
return /** @type {ol.Coordinate|undefined} */ (
this.get(ol.GeolocationProperty.POSITION));
this.get(ol.GeolocationProperty.POSITION));
};
@@ -262,7 +269,7 @@ ol.Geolocation.prototype.getPosition = function() {
*/
ol.Geolocation.prototype.getProjection = function() {
return /** @type {ol.proj.Projection|undefined} */ (
this.get(ol.GeolocationProperty.PROJECTION));
this.get(ol.GeolocationProperty.PROJECTION));
};
@@ -275,7 +282,7 @@ ol.Geolocation.prototype.getProjection = function() {
*/
ol.Geolocation.prototype.getSpeed = function() {
return /** @type {number|undefined} */ (
this.get(ol.GeolocationProperty.SPEED));
this.get(ol.GeolocationProperty.SPEED));
};
@@ -287,7 +294,7 @@ ol.Geolocation.prototype.getSpeed = function() {
*/
ol.Geolocation.prototype.getTracking = function() {
return /** @type {boolean} */ (
this.get(ol.GeolocationProperty.TRACKING));
this.get(ol.GeolocationProperty.TRACKING));
};
@@ -302,7 +309,7 @@ ol.Geolocation.prototype.getTracking = function() {
*/
ol.Geolocation.prototype.getTrackingOptions = function() {
return /** @type {GeolocationPositionOptions|undefined} */ (
this.get(ol.GeolocationProperty.TRACKING_OPTIONS));
this.get(ol.GeolocationProperty.TRACKING_OPTIONS));
};

View File

@@ -119,7 +119,7 @@ ol.geom.flat.geodesic.greatCircleArc = function(
var lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));
var lon = ol.math.toRadians(lon1) +
Math.atan2(Math.sin(theta) * sinD * cosLat1,
cosD - sinLat1 * Math.sin(lat));
cosD - sinLat1 * Math.sin(lat));
return [ol.math.toDegrees(lon), ol.math.toDegrees(lat)];
}, ol.proj.getTransform(geoProjection, projection), squaredTolerance);
};

View File

@@ -108,8 +108,8 @@ ol.geom.flat.orient.orientLinearRings = function(flatCoordinates, offset, ends,
var isClockwise = ol.geom.flat.orient.linearRingIsClockwise(
flatCoordinates, offset, end, stride);
var reverse = i === 0 ?
(right && isClockwise) || (!right && !isClockwise) :
(right && !isClockwise) || (!right && isClockwise);
(right && isClockwise) || (!right && !isClockwise) :
(right && !isClockwise) || (!right && isClockwise);
if (reverse) {
ol.geom.flat.reverse.coordinates(flatCoordinates, offset, end, stride);
}

View File

@@ -43,7 +43,7 @@ goog.require('ol.math');
ol.geom.flat.simplify.lineString = function(flatCoordinates, offset, end,
stride, squaredTolerance, highQuality, opt_simplifiedFlatCoordinates) {
var simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined ?
opt_simplifiedFlatCoordinates : [];
opt_simplifiedFlatCoordinates : [];
if (!highQuality) {
end = ol.geom.flat.simplify.radialDistance(flatCoordinates, offset, end,
stride, squaredTolerance,

View File

@@ -103,7 +103,7 @@ ol.geom.MultiPoint.prototype.getCoordinates = function() {
*/
ol.geom.MultiPoint.prototype.getPoint = function(index) {
var n = !this.flatCoordinates ?
0 : this.flatCoordinates.length / this.stride;
0 : this.flatCoordinates.length / this.stride;
if (index < 0 || n <= index) {
return null;
}

View File

@@ -375,7 +375,7 @@ ol.geom.MultiPolygon.prototype.setCoordinates = function(coordinates, opt_layout
} else {
var lastEnds = endss[endss.length - 1];
this.flatCoordinates.length = lastEnds.length === 0 ?
0 : lastEnds[lastEnds.length - 1];
0 : lastEnds[lastEnds.length - 1];
}
this.changed();
}

View File

@@ -23,89 +23,89 @@ goog.require('ol.style.Text');
ol.Graticule = function(opt_options) {
var options = opt_options || {};
/**
* @type {ol.Map}
* @private
*/
/**
* @type {ol.Map}
* @private
*/
this.map_ = null;
/**
* @type {ol.proj.Projection}
* @private
*/
/**
* @type {ol.proj.Projection}
* @private
*/
this.projection_ = null;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.maxLat_ = Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.maxLon_ = Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.minLat_ = -Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.minLon_ = -Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.maxLatP_ = Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.maxLonP_ = Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.minLatP_ = -Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.minLonP_ = -Infinity;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.targetSize_ = options.targetSize !== undefined ?
options.targetSize : 100;
options.targetSize : 100;
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.maxLines_ = options.maxLines !== undefined ? options.maxLines : 100;
/**
* @type {Array.<ol.geom.LineString>}
* @private
*/
/**
* @type {Array.<ol.geom.LineString>}
* @private
*/
this.meridians_ = [];
/**
* @type {Array.<ol.geom.LineString>}
* @private
*/
/**
* @type {Array.<ol.geom.LineString>}
* @private
*/
this.parallels_ = [];
/**
@@ -113,7 +113,7 @@ ol.Graticule = function(opt_options) {
* @private
*/
this.strokeStyle_ = options.strokeStyle !== undefined ?
options.strokeStyle : ol.Graticule.DEFAULT_STROKE_STYLE_;
options.strokeStyle : ol.Graticule.DEFAULT_STROKE_STYLE_;
/**
* @type {ol.TransformFunction|undefined}
@@ -153,14 +153,14 @@ ol.Graticule = function(opt_options) {
* @private
*/
this.lonLabelFormatter_ = options.lonLabelFormatter == undefined ?
degreesToString.bind(this, 'EW') : options.lonLabelFormatter;
degreesToString.bind(this, 'EW') : options.lonLabelFormatter;
/**
* @type {function(number):string}
* @private
*/
this.latLabelFormatter_ = options.latLabelFormatter == undefined ?
degreesToString.bind(this, 'NS') : options.latLabelFormatter;
degreesToString.bind(this, 'NS') : options.latLabelFormatter;
/**
* Longitude label position in fractions (0..1) of view extent. 0 means
@@ -169,7 +169,7 @@ ol.Graticule = function(opt_options) {
* @private
*/
this.lonLabelPosition_ = options.lonLabelPosition == undefined ? 0 :
options.lonLabelPosition;
options.lonLabelPosition;
/**
* Latitude Label position in fractions (0..1) of view extent. 0 means left, 1
@@ -178,41 +178,41 @@ ol.Graticule = function(opt_options) {
* @private
*/
this.latLabelPosition_ = options.latLabelPosition == undefined ? 1 :
options.latLabelPosition;
options.latLabelPosition;
/**
* @type {ol.style.Text}
* @private
*/
this.lonLabelStyle_ = options.lonLabelStyle !== undefined ? options.lonLabelStyle :
new ol.style.Text({
font: '12px Calibri,sans-serif',
textBaseline: 'bottom',
fill: new ol.style.Fill({
color: 'rgba(0,0,0,1)'
}),
stroke: new ol.style.Stroke({
color: 'rgba(255,255,255,1)',
width: 3
})
});
new ol.style.Text({
font: '12px Calibri,sans-serif',
textBaseline: 'bottom',
fill: new ol.style.Fill({
color: 'rgba(0,0,0,1)'
}),
stroke: new ol.style.Stroke({
color: 'rgba(255,255,255,1)',
width: 3
})
});
/**
* @type {ol.style.Text}
* @private
*/
this.latLabelStyle_ = options.latLabelStyle !== undefined ? options.latLabelStyle :
new ol.style.Text({
font: '12px Calibri,sans-serif',
textAlign: 'end',
fill: new ol.style.Fill({
color: 'rgba(0,0,0,1)'
}),
stroke: new ol.style.Stroke({
color: 'rgba(255,255,255,1)',
width: 3
})
});
new ol.style.Text({
font: '12px Calibri,sans-serif',
textAlign: 'end',
fill: new ol.style.Fill({
color: 'rgba(0,0,0,1)'
}),
stroke: new ol.style.Stroke({
color: 'rgba(255,255,255,1)',
width: 3
})
});
this.meridiansLabels_ = [];
this.parallelsLabels_ = [];
@@ -283,7 +283,7 @@ ol.Graticule.prototype.getMeridianPoint_ = function(lineString, extent, index) {
clampedBottom, clampedTop);
var coordinate = [flatCoordinates[0], lat];
var point = this.meridiansLabels_[index] !== undefined ?
this.meridiansLabels_[index].geom : new ol.geom.Point(null);
this.meridiansLabels_[index].geom : new ol.geom.Point(null);
point.setCoordinates(coordinate);
return point;
};
@@ -332,7 +332,7 @@ ol.Graticule.prototype.getParallelPoint_ = function(lineString, extent, index) {
clampedLeft, clampedRight);
var coordinate = [lon, flatCoordinates[1]];
var point = this.parallelsLabels_[index] !== undefined ?
this.parallelsLabels_[index].geom : new ol.geom.Point(null);
this.parallelsLabels_[index].geom : new ol.geom.Point(null);
point.setCoordinates(coordinate);
return point;
};
@@ -487,11 +487,11 @@ ol.Graticule.prototype.getMap = function() {
* @private
*/
ol.Graticule.prototype.getMeridian_ = function(lon, minLat, maxLat,
squaredTolerance, index) {
squaredTolerance, index) {
var flatCoordinates = ol.geom.flat.geodesic.meridian(lon,
minLat, maxLat, this.projection_, squaredTolerance);
minLat, maxLat, this.projection_, squaredTolerance);
var lineString = this.meridians_[index] !== undefined ?
this.meridians_[index] : new ol.geom.LineString(null);
this.meridians_[index] : new ol.geom.LineString(null);
lineString.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates);
return lineString;
};
@@ -517,18 +517,18 @@ ol.Graticule.prototype.getMeridians = function() {
* @private
*/
ol.Graticule.prototype.getParallel_ = function(lat, minLon, maxLon,
squaredTolerance, index) {
squaredTolerance, index) {
var flatCoordinates = ol.geom.flat.geodesic.parallel(lat,
this.minLon_, this.maxLon_, this.projection_, squaredTolerance);
this.minLon_, this.maxLon_, this.projection_, squaredTolerance);
var lineString = this.parallels_[index] !== undefined ?
this.parallels_[index] : new ol.geom.LineString(null);
this.parallels_[index] : new ol.geom.LineString(null);
lineString.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates);
return lineString;
};
/**
* Get the list of parallels. Pallels are lines of equal latitude.
* Get the list of parallels. Parallels are lines of equal latitude.
* @return {Array.<ol.geom.LineString>} The parallels.
* @api
*/
@@ -620,7 +620,7 @@ ol.Graticule.prototype.updateProjectionInfo_ = function(projection) {
var extent = projection.getExtent();
var worldExtent = projection.getWorldExtent();
var worldExtentP = ol.proj.transformExtent(worldExtent,
epsg4326Projection, projection);
epsg4326Projection, projection);
var maxLat = worldExtent[3];
var maxLon = worldExtent[2];
@@ -644,13 +644,13 @@ ol.Graticule.prototype.updateProjectionInfo_ = function(projection) {
this.fromLonLatTransform_ = ol.proj.getTransform(
epsg4326Projection, projection);
epsg4326Projection, projection);
this.toLonLatTransform_ = ol.proj.getTransform(
projection, epsg4326Projection);
projection, epsg4326Projection);
this.projectionCenterLonLat_ = this.toLonLatTransform_(
ol.extent.getCenter(extent));
ol.extent.getCenter(extent));
this.projection_ = projection;
};

View File

@@ -4,7 +4,7 @@ goog.require('ol');
goog.require('ol.webgl');
var ua = typeof navigator !== 'undefined' ?
navigator.userAgent.toLowerCase() : '';
navigator.userAgent.toLowerCase() : '';
/**
* User agent string says we are dealing with Firefox as browser.
@@ -56,27 +56,27 @@ ol.has.CANVAS_LINE_DASH = false;
* @api
*/
ol.has.CANVAS = ol.ENABLE_CANVAS && (
/**
* @return {boolean} Canvas supported.
*/
function() {
if (!('HTMLCanvasElement' in window)) {
/**
* @return {boolean} Canvas supported.
*/
function() {
if (!('HTMLCanvasElement' in window)) {
return false;
}
try {
var context = document.createElement('CANVAS').getContext('2d');
if (!context) {
return false;
}
try {
var context = document.createElement('CANVAS').getContext('2d');
if (!context) {
return false;
} else {
if (context.setLineDash !== undefined) {
ol.has.CANVAS_LINE_DASH = true;
}
return true;
} else {
if (context.setLineDash !== undefined) {
ol.has.CANVAS_LINE_DASH = true;
}
} catch (e) {
return false;
return true;
}
})();
} catch (e) {
return false;
}
})();
/**
@@ -148,7 +148,7 @@ ol.has.WEBGL;
if (gl) {
hasWebGL = true;
textureSize = /** @type {number} */
(gl.getParameter(gl.MAX_TEXTURE_SIZE));
(gl.getParameter(gl.MAX_TEXTURE_SIZE));
extensions = gl.getSupportedExtensions();
}
} catch (e) {

View File

@@ -27,7 +27,7 @@ ol.ImageCanvas = function(extent, resolution, pixelRatio, attributions,
this.loader_ = opt_loader !== undefined ? opt_loader : null;
var state = opt_loader !== undefined ?
ol.ImageState.IDLE : ol.ImageState.LOADED;
ol.ImageState.IDLE : ol.ImageState.LOADED;
ol.ImageBase.call(this, extent, resolution, pixelRatio, state, attributions);

View File

@@ -3,6 +3,7 @@ goog.provide('ol.ImageTile');
goog.require('ol');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
@@ -30,7 +31,7 @@ ol.ImageTile = function(tileCoord, state, src, crossOrigin, tileLoadFunction) {
/**
* @private
* @type {Image}
* @type {Image|HTMLCanvasElement}
*/
this.image_ = new Image();
if (crossOrigin !== null) {
@@ -59,6 +60,7 @@ ol.inherits(ol.ImageTile, ol.Tile);
ol.ImageTile.prototype.disposeInternal = function() {
if (this.state == ol.TileState.LOADING) {
this.unlistenImage_();
this.image_.src = ol.ImageTile.blankImage.toDataURL('image/png');
}
if (this.interimTile) {
this.interimTile.dispose();
@@ -94,8 +96,8 @@ ol.ImageTile.prototype.getKey = function() {
*/
ol.ImageTile.prototype.handleImageError_ = function() {
this.state = ol.TileState.ERROR;
this.image_ = ol.ImageTile.blankImage;
this.unlistenImage_();
this.image_ = ol.ImageTile.blankImage;
this.changed();
};
@@ -148,7 +150,11 @@ ol.ImageTile.prototype.unlistenImage_ = function() {
/**
* A blank image.
* @type {Image}
* @type {HTMLCanvasElement}
*/
ol.ImageTile.blankImage = new Image();
ol.ImageTile.blankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
ol.ImageTile.blankImage = (function() {
var ctx = ol.dom.createCanvasContext2D(1, 1);
ctx.fillStyle = 'rgba(0,0,0,0)';
ctx.fillRect(0, 0, 1, 1);
return ctx.canvas;
})();

View File

@@ -45,13 +45,13 @@ ol.interaction.defaults = function(opt_options) {
var kinetic = new ol.Kinetic(-0.005, 0.05, 100);
var altShiftDragRotate = options.altShiftDragRotate !== undefined ?
options.altShiftDragRotate : true;
options.altShiftDragRotate : true;
if (altShiftDragRotate) {
interactions.push(new ol.interaction.DragRotate());
}
var doubleClickZoom = options.doubleClickZoom !== undefined ?
options.doubleClickZoom : true;
options.doubleClickZoom : true;
if (doubleClickZoom) {
interactions.push(new ol.interaction.DoubleClickZoom({
delta: options.zoomDelta,
@@ -67,7 +67,7 @@ ol.interaction.defaults = function(opt_options) {
}
var pinchRotate = options.pinchRotate !== undefined ? options.pinchRotate :
true;
true;
if (pinchRotate) {
interactions.push(new ol.interaction.PinchRotate());
}
@@ -90,7 +90,7 @@ ol.interaction.defaults = function(opt_options) {
}
var mouseWheelZoom = options.mouseWheelZoom !== undefined ?
options.mouseWheelZoom : true;
options.mouseWheelZoom : true;
if (mouseWheelZoom) {
interactions.push(new ol.interaction.MouseWheelZoom({
constrainResolution: options.constrainResolution,
@@ -99,7 +99,7 @@ ol.interaction.defaults = function(opt_options) {
}
var shiftDragZoom = options.shiftDragZoom !== undefined ?
options.shiftDragZoom : true;
options.shiftDragZoom : true;
if (shiftDragZoom) {
interactions.push(new ol.interaction.DragZoom({
duration: options.zoomDuration

View File

@@ -34,14 +34,14 @@ ol.interaction.DragAndDrop = function(opt_options) {
* @type {Array.<function(new: ol.format.Feature)>}
*/
this.formatConstructors_ = options.formatConstructors ?
options.formatConstructors : [];
options.formatConstructors : [];
/**
* @private
* @type {ol.proj.Projection}
*/
this.projection_ = options.projection ?
ol.proj.get(options.projection) : null;
ol.proj.get(options.projection) : null;
/**
* @private

View File

@@ -58,14 +58,14 @@ ol.interaction.DragBox = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.always;
options.condition : ol.events.condition.always;
/**
* @private
* @type {ol.DragBoxEndConditionType}
*/
this.boxEndCondition_ = options.boxEndCondition ?
options.boxEndCondition : ol.interaction.DragBox.defaultBoxEndCondition;
options.boxEndCondition : ol.interaction.DragBox.defaultBoxEndCondition;
};
ol.inherits(ol.interaction.DragBox, ol.interaction.Pointer);
@@ -100,7 +100,7 @@ ol.interaction.DragBox.handleDragEvent_ = function(mapBrowserEvent) {
this.box_.setPixels(this.startPixel_, mapBrowserEvent.pixel);
this.dispatchEvent(new ol.interaction.DragBox.Event(ol.interaction.DragBox.EventType_.BOXDRAG,
mapBrowserEvent.coordinate, mapBrowserEvent));
mapBrowserEvent.coordinate, mapBrowserEvent));
};

View File

@@ -49,7 +49,7 @@ ol.interaction.DragPan = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.noModifierKeys;
options.condition : ol.events.condition.noModifierKeys;
/**
* @private

View File

@@ -37,7 +37,7 @@ ol.interaction.DragRotate = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.altShiftKeysOnly;
options.condition : ol.events.condition.altShiftKeysOnly;
/**
* @private

View File

@@ -38,7 +38,7 @@ ol.interaction.DragRotateAndZoom = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.shiftKeyOnly;
options.condition : ol.events.condition.shiftKeyOnly;
/**
* @private

View File

@@ -25,7 +25,7 @@ ol.interaction.DragZoom = function(opt_options) {
var options = opt_options ? opt_options : {};
var condition = options.condition ?
options.condition : ol.events.condition.shiftKeyOnly;
options.condition : ol.events.condition.shiftKeyOnly;
/**
* @private

View File

@@ -105,8 +105,8 @@ ol.interaction.Draw = function(options) {
* @private
*/
this.minPoints_ = options.minPoints ?
options.minPoints :
(this.mode_ === ol.interaction.Draw.Mode_.POLYGON ? 3 : 2);
options.minPoints :
(this.mode_ === ol.interaction.Draw.Mode_.POLYGON ? 3 : 2);
/**
* The number of points that can be drawn before a polygon ring or line string
@@ -134,7 +134,7 @@ ol.interaction.Draw = function(options) {
*/
geometryFunction = function(coordinates, opt_geometry) {
var circle = opt_geometry ? /** @type {ol.geom.Circle} */ (opt_geometry) :
new ol.geom.Circle([NaN, NaN]);
new ol.geom.Circle([NaN, NaN]);
var squaredLength = ol.coordinate.squaredDistance(
coordinates[0], coordinates[1]);
circle.setCenterAndRadius(coordinates[0], Math.sqrt(squaredLength));
@@ -229,7 +229,7 @@ ol.interaction.Draw = function(options) {
* @private
*/
this.squaredClickTolerance_ = options.clickTolerance ?
options.clickTolerance * options.clickTolerance : 36;
options.clickTolerance * options.clickTolerance : 36;
/**
* Draw overlay where our sketch features are drawn.
@@ -242,7 +242,7 @@ ol.interaction.Draw = function(options) {
wrapX: options.wrapX ? options.wrapX : false
}),
style: options.style ? options.style :
ol.interaction.Draw.getDefaultStyleFunction()
ol.interaction.Draw.getDefaultStyleFunction()
});
/**
@@ -257,7 +257,7 @@ ol.interaction.Draw = function(options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.noModifierKeys;
options.condition : ol.events.condition.noModifierKeys;
/**
* @private
@@ -268,7 +268,7 @@ ol.interaction.Draw = function(options) {
this.freehandCondition_ = ol.events.condition.always;
} else {
this.freehandCondition_ = options.freehandCondition ?
options.freehandCondition : ol.events.condition.shiftKeyOnly;
options.freehandCondition : ol.events.condition.shiftKeyOnly;
}
ol.events.listen(this,
@@ -401,8 +401,8 @@ ol.interaction.Draw.prototype.handlePointerMove_ = function(event) {
var dy = downPx[1] - clickPx[1];
var squaredDistance = dx * dx + dy * dy;
this.shouldHandle_ = this.freehand_ ?
squaredDistance > this.squaredClickTolerance_ :
squaredDistance <= this.squaredClickTolerance_;
squaredDistance > this.squaredClickTolerance_ :
squaredDistance <= this.squaredClickTolerance_;
}
if (this.finishCoordinate_) {
@@ -767,23 +767,23 @@ ol.interaction.Draw.prototype.updateState_ = function() {
*/
ol.interaction.Draw.createRegularPolygon = function(opt_sides, opt_angle) {
return (
/**
/**
* @param {ol.Coordinate|Array.<ol.Coordinate>|Array.<Array.<ol.Coordinate>>} coordinates
* @param {ol.geom.SimpleGeometry=} opt_geometry
* @return {ol.geom.SimpleGeometry}
*/
function(coordinates, opt_geometry) {
var center = coordinates[0];
var end = coordinates[1];
var radius = Math.sqrt(
ol.coordinate.squaredDistance(center, end));
var geometry = opt_geometry ? /** @type {ol.geom.Polygon} */ (opt_geometry) :
ol.geom.Polygon.fromCircle(new ol.geom.Circle(center), opt_sides);
var angle = opt_angle ? opt_angle :
Math.atan((end[1] - center[1]) / (end[0] - center[0]));
ol.geom.Polygon.makeRegular(geometry, center, radius, angle);
return geometry;
}
function(coordinates, opt_geometry) {
var center = coordinates[0];
var end = coordinates[1];
var radius = Math.sqrt(
ol.coordinate.squaredDistance(center, end));
var geometry = opt_geometry ? /** @type {ol.geom.Polygon} */ (opt_geometry) :
ol.geom.Polygon.fromCircle(new ol.geom.Circle(center), opt_sides);
var angle = opt_angle ? opt_angle :
Math.atan((end[1] - center[1]) / (end[0] - center[0]));
ol.geom.Polygon.makeRegular(geometry, center, radius, angle);
return geometry;
}
);
};

View File

@@ -183,13 +183,13 @@ ol.interaction.Extent.handleDownEvent_ = function(mapBrowserEvent) {
//snap to edge
} else if (x !== null) {
this.pointerHandler_ = ol.interaction.Extent.getEdgeHandler_(
getOpposingPoint([x, extent[1]]),
getOpposingPoint([x, extent[3]])
getOpposingPoint([x, extent[1]]),
getOpposingPoint([x, extent[3]])
);
} else if (y !== null) {
this.pointerHandler_ = ol.interaction.Extent.getEdgeHandler_(
getOpposingPoint([extent[0], y]),
getOpposingPoint([extent[2], y])
getOpposingPoint([extent[0], y]),
getOpposingPoint([extent[2], y])
);
}
//no snap - new bbox
@@ -337,7 +337,7 @@ ol.interaction.Extent.prototype.snapToVertex_ = function(pixel, map) {
this.snappedToVertex_ = dist <= this.pixelTolerance_;
if (this.snappedToVertex_) {
vertex = squaredDist1 > squaredDist2 ?
closestSegment[1] : closestSegment[0];
closestSegment[1] : closestSegment[0];
}
return vertex;
}

View File

@@ -54,7 +54,7 @@ ol.inherits(ol.interaction.Interaction, ol.Object);
*/
ol.interaction.Interaction.prototype.getActive = function() {
return /** @type {boolean} */ (
this.get(ol.interaction.Property.ACTIVE));
this.get(ol.interaction.Property.ACTIVE));
};

View File

@@ -48,7 +48,7 @@ ol.interaction.KeyboardPan = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition !== undefined ?
options.condition : this.defaultCondition_;
options.condition : this.defaultCondition_;
/**
* @private
@@ -61,7 +61,7 @@ ol.interaction.KeyboardPan = function(opt_options) {
* @type {number}
*/
this.pixelDelta_ = options.pixelDelta !== undefined ?
options.pixelDelta : 128;
options.pixelDelta : 128;
};
ol.inherits(ol.interaction.KeyboardPan, ol.interaction.Interaction);

View File

@@ -36,7 +36,7 @@ ol.interaction.KeyboardZoom = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ? options.condition :
ol.events.condition.targetNotEditable;
ol.events.condition.targetNotEditable;
/**
* @private

View File

@@ -47,7 +47,7 @@ ol.interaction.Modify = function(options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.primaryAction;
options.condition : ol.events.condition.primaryAction;
/**
@@ -65,14 +65,14 @@ ol.interaction.Modify = function(options) {
* @private
*/
this.deleteCondition_ = options.deleteCondition ?
options.deleteCondition : this.defaultDeleteCondition_;
options.deleteCondition : this.defaultDeleteCondition_;
/**
* @type {ol.EventsConditionType}
* @private
*/
this.insertVertexCondition_ = options.insertVertexCondition ?
options.insertVertexCondition : ol.events.condition.always;
options.insertVertexCondition : ol.events.condition.always;
/**
* Editing vertex.
@@ -120,7 +120,7 @@ ol.interaction.Modify = function(options) {
* @private
*/
this.pixelTolerance_ = options.pixelTolerance !== undefined ?
options.pixelTolerance : 10;
options.pixelTolerance : 10;
/**
* @type {boolean}
@@ -153,7 +153,7 @@ ol.interaction.Modify = function(options) {
wrapX: !!options.wrapX
}),
style: options.style ? options.style :
ol.interaction.Modify.getDefaultStyleFunction(),
ol.interaction.Modify.getDefaultStyleFunction(),
updateWhileAnimating: true,
updateWhileInteracting: true
});
@@ -825,7 +825,7 @@ ol.interaction.Modify.prototype.handlePointerAtPixel_ = function(pixel, map) {
this.snappedToVertex_ = dist <= this.pixelTolerance_;
if (this.snappedToVertex_) {
vertex = squaredDist1 > squaredDist2 ?
closestSegment[1] : closestSegment[0];
closestSegment[1] : closestSegment[0];
}
this.createOrUpdateVertexFeature_(vertex);
var segment;

View File

@@ -164,8 +164,8 @@ ol.interaction.MouseWheelZoom.handleEvent = function(mapBrowserEvent) {
if (!this.mode_ || now - this.startTime_ > this.trackpadEventGap_) {
this.mode_ = Math.abs(delta) < 4 ?
ol.interaction.MouseWheelZoom.Mode_.TRACKPAD :
ol.interaction.MouseWheelZoom.Mode_.WHEEL;
ol.interaction.MouseWheelZoom.Mode_.TRACKPAD :
ol.interaction.MouseWheelZoom.Mode_.WHEEL;
}
if (this.mode_ === ol.interaction.MouseWheelZoom.Mode_.TRACKPAD) {

View File

@@ -28,7 +28,7 @@ ol.interaction.Pointer = function(opt_options) {
var options = opt_options ? opt_options : {};
var handleEvent = options.handleEvent ?
options.handleEvent : ol.interaction.Pointer.handleEvent;
options.handleEvent : ol.interaction.Pointer.handleEvent;
ol.interaction.Interaction.call(this, {
handleEvent: handleEvent
@@ -39,28 +39,28 @@ ol.interaction.Pointer = function(opt_options) {
* @private
*/
this.handleDownEvent_ = options.handleDownEvent ?
options.handleDownEvent : ol.interaction.Pointer.handleDownEvent;
options.handleDownEvent : ol.interaction.Pointer.handleDownEvent;
/**
* @type {function(ol.MapBrowserPointerEvent)}
* @private
*/
this.handleDragEvent_ = options.handleDragEvent ?
options.handleDragEvent : ol.interaction.Pointer.handleDragEvent;
options.handleDragEvent : ol.interaction.Pointer.handleDragEvent;
/**
* @type {function(ol.MapBrowserPointerEvent)}
* @private
*/
this.handleMoveEvent_ = options.handleMoveEvent ?
options.handleMoveEvent : ol.interaction.Pointer.handleMoveEvent;
options.handleMoveEvent : ol.interaction.Pointer.handleMoveEvent;
/**
* @type {function(ol.MapBrowserPointerEvent):boolean}
* @private
*/
this.handleUpEvent_ = options.handleUpEvent ?
options.handleUpEvent : ol.interaction.Pointer.handleUpEvent;
options.handleUpEvent : ol.interaction.Pointer.handleUpEvent;
/**
* @type {boolean}
@@ -109,7 +109,7 @@ ol.interaction.Pointer.centroid = function(pointerEvents) {
ol.interaction.Pointer.prototype.isPointerDraggingEvent_ = function(mapBrowserEvent) {
var type = mapBrowserEvent.type;
return (
type === ol.MapBrowserEventType.POINTERDOWN ||
type === ol.MapBrowserEventType.POINTERDOWN ||
type === ol.MapBrowserEventType.POINTERDRAG ||
type === ol.MapBrowserEventType.POINTERUP);
};

View File

@@ -46,28 +46,28 @@ ol.interaction.Select = function(opt_options) {
* @type {ol.EventsConditionType}
*/
this.condition_ = options.condition ?
options.condition : ol.events.condition.singleClick;
options.condition : ol.events.condition.singleClick;
/**
* @private
* @type {ol.EventsConditionType}
*/
this.addCondition_ = options.addCondition ?
options.addCondition : ol.events.condition.never;
options.addCondition : ol.events.condition.never;
/**
* @private
* @type {ol.EventsConditionType}
*/
this.removeCondition_ = options.removeCondition ?
options.removeCondition : ol.events.condition.never;
options.removeCondition : ol.events.condition.never;
/**
* @private
* @type {ol.EventsConditionType}
*/
this.toggleCondition_ = options.toggleCondition ?
options.toggleCondition : ol.events.condition.shiftKeyOnly;
options.toggleCondition : ol.events.condition.shiftKeyOnly;
/**
* @private
@@ -80,7 +80,7 @@ ol.interaction.Select = function(opt_options) {
* @type {ol.SelectFilterFunction}
*/
this.filter_ = options.filter ? options.filter :
ol.functions.TRUE;
ol.functions.TRUE;
/**
* @private
@@ -95,7 +95,7 @@ ol.interaction.Select = function(opt_options) {
wrapX: options.wrapX
}),
style: options.style ? options.style :
ol.interaction.Select.getDefaultStyleFunction(),
ol.interaction.Select.getDefaultStyleFunction(),
updateWhileAnimating: true,
updateWhileInteracting: true
});
@@ -217,18 +217,19 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) {
// the pixel.
ol.obj.clear(this.featureLayerAssociation_);
map.forEachFeatureAtPixel(mapBrowserEvent.pixel,
(/**
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.layer.Layer} layer Layer.
* @return {boolean|undefined} Continue to iterate over the features.
*/
function(feature, layer) {
if (this.filter_(feature, layer)) {
selected.push(feature);
this.addFeatureLayerAssociation_(feature, layer);
return !this.multi_;
}
}).bind(this), {
(
/**
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.layer.Layer} layer Layer.
* @return {boolean|undefined} Continue to iterate over the features.
*/
function(feature, layer) {
if (this.filter_(feature, layer)) {
selected.push(feature);
this.addFeatureLayerAssociation_(feature, layer);
return !this.multi_;
}
}).bind(this), {
layerFilter: this.layerFilter_,
hitTolerance: this.hitTolerance_
});
@@ -250,25 +251,26 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) {
} else {
// Modify the currently selected feature(s).
map.forEachFeatureAtPixel(mapBrowserEvent.pixel,
(/**
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.layer.Layer} layer Layer.
* @return {boolean|undefined} Continue to iterate over the features.
*/
function(feature, layer) {
if (this.filter_(feature, layer)) {
if ((add || toggle) &&
(
/**
* @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.layer.Layer} layer Layer.
* @return {boolean|undefined} Continue to iterate over the features.
*/
function(feature, layer) {
if (this.filter_(feature, layer)) {
if ((add || toggle) &&
!ol.array.includes(features.getArray(), feature)) {
selected.push(feature);
this.addFeatureLayerAssociation_(feature, layer);
} else if ((remove || toggle) &&
selected.push(feature);
this.addFeatureLayerAssociation_(feature, layer);
} else if ((remove || toggle) &&
ol.array.includes(features.getArray(), feature)) {
deselected.push(feature);
this.removeFeatureLayerAssociation_(feature);
deselected.push(feature);
this.removeFeatureLayerAssociation_(feature);
}
return !this.multi_;
}
return !this.multi_;
}
}).bind(this), {
}).bind(this), {
layerFilter: this.layerFilter_,
hitTolerance: this.hitTolerance_
});

View File

@@ -114,7 +114,7 @@ ol.interaction.Snap = function(opt_options) {
* @private
*/
this.pixelTolerance_ = options.pixelTolerance !== undefined ?
options.pixelTolerance : 10;
options.pixelTolerance : 10;
/**
* @type {function(ol.SnapSegmentDataType, ol.SnapSegmentDataType): number}
@@ -309,17 +309,17 @@ ol.interaction.Snap.prototype.setMap = function(map) {
if (map) {
if (this.features_) {
keys.push(
ol.events.listen(this.features_, ol.CollectionEventType.ADD,
this.handleFeatureAdd_, this),
ol.events.listen(this.features_, ol.CollectionEventType.REMOVE,
this.handleFeatureRemove_, this)
ol.events.listen(this.features_, ol.CollectionEventType.ADD,
this.handleFeatureAdd_, this),
ol.events.listen(this.features_, ol.CollectionEventType.REMOVE,
this.handleFeatureRemove_, this)
);
} else if (this.source_) {
keys.push(
ol.events.listen(this.source_, ol.source.VectorEventType.ADDFEATURE,
this.handleFeatureAdd_, this),
ol.events.listen(this.source_, ol.source.VectorEventType.REMOVEFEATURE,
this.handleFeatureRemove_, this)
ol.events.listen(this.source_, ol.source.VectorEventType.ADDFEATURE,
this.handleFeatureAdd_, this),
ol.events.listen(this.source_, ol.source.VectorEventType.REMOVEFEATURE,
this.handleFeatureRemove_, this)
);
}
features.forEach(this.forEachFeatureAdd_, this);
@@ -378,7 +378,7 @@ ol.interaction.Snap.prototype.snapTo = function(pixel, pixelCoordinate, map) {
if (snappedToVertex) {
snapped = true;
vertex = squaredDist1 > squaredDist2 ?
closestSegment[1] : closestSegment[0];
closestSegment[1] : closestSegment[0];
vertexPixel = map.getPixelFromCoordinate(vertex);
}
} else if (this.edge_) {
@@ -401,7 +401,7 @@ ol.interaction.Snap.prototype.snapTo = function(pixel, pixelCoordinate, map) {
snappedToVertex = dist <= this.pixelTolerance_;
if (snappedToVertex) {
vertex = squaredDist1 > squaredDist2 ?
closestSegment[1] : closestSegment[0];
closestSegment[1] : closestSegment[0];
vertexPixel = map.getPixelFromCoordinate(vertex);
}
}
@@ -631,5 +631,5 @@ ol.interaction.Snap.sortByDistance = function(a, b) {
return ol.coordinate.squaredDistanceToSegment(
this.pixelCoordinate_, a.segment) -
ol.coordinate.squaredDistanceToSegment(
this.pixelCoordinate_, b.segment);
this.pixelCoordinate_, b.segment);
};

View File

@@ -251,13 +251,12 @@ ol.interaction.Translate.prototype.handleActiveChanged_ = function() {
ol.interaction.Translate.prototype.updateState_ = function(oldMap) {
var map = this.getMap();
var active = this.getActive();
if ((!map || !active)) {
if (!map) {
map = oldMap;
if (!map || !active) {
map = map || oldMap;
if (map) {
var elem = map.getViewport();
elem.classList.remove('ol-grab', 'ol-grabbing');
}
var elem = map.getViewport();
elem.classList.remove('ol-grab', 'ol-grabbing');
}
};

View File

@@ -107,7 +107,7 @@ ol.layer.Base.prototype.getLayerStatesArray = function(opt_states) {};
*/
ol.layer.Base.prototype.getExtent = function() {
return /** @type {ol.Extent|undefined} */ (
this.get(ol.layer.Property.EXTENT));
this.get(ol.layer.Property.EXTENT));
};
@@ -119,7 +119,7 @@ ol.layer.Base.prototype.getExtent = function() {
*/
ol.layer.Base.prototype.getMaxResolution = function() {
return /** @type {number} */ (
this.get(ol.layer.Property.MAX_RESOLUTION));
this.get(ol.layer.Property.MAX_RESOLUTION));
};
@@ -131,7 +131,7 @@ ol.layer.Base.prototype.getMaxResolution = function() {
*/
ol.layer.Base.prototype.getMinResolution = function() {
return /** @type {number} */ (
this.get(ol.layer.Property.MIN_RESOLUTION));
this.get(ol.layer.Property.MIN_RESOLUTION));
};

View File

@@ -66,7 +66,7 @@ ol.layer.Heatmap = function(opt_options) {
this.handleGradientChanged_, this);
this.setGradient(options.gradient ?
options.gradient : ol.layer.Heatmap.DEFAULT_GRADIENT);
options.gradient : ol.layer.Heatmap.DEFAULT_GRADIENT);
this.setBlur(options.blur !== undefined ? options.blur : 15);
@@ -190,7 +190,7 @@ ol.layer.Heatmap.prototype.getBlur = function() {
*/
ol.layer.Heatmap.prototype.getGradient = function() {
return /** @type {Array.<string>} */ (
this.get(ol.layer.Heatmap.Property_.GRADIENT));
this.get(ol.layer.Heatmap.Property_.GRADIENT));
};

View File

@@ -34,7 +34,7 @@ ol.layer.Tile = function(opt_options) {
this.setPreload(options.preload !== undefined ? options.preload : 0);
this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined ?
options.useInterimTilesOnError : true);
options.useInterimTilesOnError : true);
};
ol.inherits(ol.layer.Tile, ol.layer.Layer);
@@ -93,7 +93,7 @@ ol.layer.Tile.prototype.setPreload = function(preload) {
*/
ol.layer.Tile.prototype.getUseInterimTilesOnError = function() {
return /** @type {boolean} */ (
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
};

View File

@@ -24,7 +24,7 @@ goog.require('ol.style.Style');
*/
ol.layer.Vector = function(opt_options) {
var options = opt_options ?
opt_options : /** @type {olx.layer.VectorOptions} */ ({});
opt_options : /** @type {olx.layer.VectorOptions} */ ({});
var baseOptions = ol.obj.assign({}, options);
@@ -34,42 +34,42 @@ ol.layer.Vector = function(opt_options) {
delete baseOptions.updateWhileInteracting;
ol.layer.Layer.call(this, /** @type {olx.layer.LayerOptions} */ (baseOptions));
/**
* @type {number}
* @private
*/
/**
* @type {number}
* @private
*/
this.renderBuffer_ = options.renderBuffer !== undefined ?
options.renderBuffer : 100;
options.renderBuffer : 100;
/**
* User provided style.
* @type {ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction}
* @private
*/
/**
* User provided style.
* @type {ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction}
* @private
*/
this.style_ = null;
/**
* Style function for use within the library.
* @type {ol.StyleFunction|undefined}
* @private
*/
/**
* Style function for use within the library.
* @type {ol.StyleFunction|undefined}
* @private
*/
this.styleFunction_ = undefined;
this.setStyle(options.style);
/**
* @type {boolean}
* @private
*/
/**
* @type {boolean}
* @private
*/
this.updateWhileAnimating_ = options.updateWhileAnimating !== undefined ?
options.updateWhileAnimating : false;
options.updateWhileAnimating : false;
/**
* @type {boolean}
* @private
*/
/**
* @type {boolean}
* @private
*/
this.updateWhileInteracting_ = options.updateWhileInteracting !== undefined ?
options.updateWhileInteracting : false;
options.updateWhileInteracting : false;
};
ol.inherits(ol.layer.Vector, ol.layer.Layer);
@@ -103,7 +103,7 @@ ol.layer.Vector.prototype.getRenderBuffer = function() {
*/
ol.layer.Vector.prototype.getRenderOrder = function() {
return /** @type {ol.RenderOrderFunction|null|undefined} */ (
this.get(ol.layer.Vector.Property_.RENDER_ORDER));
this.get(ol.layer.Vector.Property_.RENDER_ORDER));
};
@@ -179,7 +179,7 @@ ol.layer.Vector.prototype.setRenderOrder = function(renderOrder) {
ol.layer.Vector.prototype.setStyle = function(style) {
this.style_ = style !== undefined ? style : ol.style.Style.defaultFunction;
this.styleFunction_ = style === null ?
undefined : ol.style.Style.createFunction(this.style_);
undefined : ol.style.Style.createFunction(this.style_);
this.changed();
};

View File

@@ -33,13 +33,13 @@ ol.layer.VectorTile = function(opt_options) {
this.setPreload(options.preload ? options.preload : 0);
this.setUseInterimTilesOnError(options.useInterimTilesOnError ?
options.useInterimTilesOnError : true);
options.useInterimTilesOnError : true);
ol.asserts.assert(options.renderMode == undefined ||
options.renderMode == ol.layer.VectorTileRenderType.IMAGE ||
options.renderMode == ol.layer.VectorTileRenderType.HYBRID ||
options.renderMode == ol.layer.VectorTileRenderType.VECTOR,
28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'`
28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'`
/**
* @private
@@ -91,7 +91,7 @@ ol.layer.VectorTile.prototype.getRenderMode = function() {
*/
ol.layer.VectorTile.prototype.getUseInterimTilesOnError = function() {
return /** @type {boolean} */ (
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
};

View File

@@ -34,25 +34,25 @@ ol.loadingstrategy.bbox = function(extent, resolution) {
*/
ol.loadingstrategy.tile = function(tileGrid) {
return (
/**
/**
* @param {ol.Extent} extent Extent.
* @param {number} resolution Resolution.
* @return {Array.<ol.Extent>} Extents.
*/
function(extent, resolution) {
var z = tileGrid.getZForResolution(resolution);
var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);
/** @type {Array.<ol.Extent>} */
var extents = [];
/** @type {ol.TileCoord} */
var tileCoord = [z, 0, 0];
for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX;
++tileCoord[1]) {
for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY;
++tileCoord[2]) {
extents.push(tileGrid.getTileCoordExtent(tileCoord));
}
function(extent, resolution) {
var z = tileGrid.getZForResolution(resolution);
var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);
/** @type {Array.<ol.Extent>} */
var extents = [];
/** @type {ol.TileCoord} */
var tileCoord = [z, 0, 0];
for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX;
++tileCoord[1]) {
for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY;
++tileCoord[2]) {
extents.push(tileGrid.getTileCoordExtent(tileCoord));
}
return extents;
});
}
return extents;
});
};

View File

@@ -144,7 +144,7 @@ ol.Map = function(options) {
*/
this.loadTilesWhileAnimating_ =
options.loadTilesWhileAnimating !== undefined ?
options.loadTilesWhileAnimating : false;
options.loadTilesWhileAnimating : false;
/**
* @type {boolean}
@@ -152,14 +152,14 @@ ol.Map = function(options) {
*/
this.loadTilesWhileInteracting_ =
options.loadTilesWhileInteracting !== undefined ?
options.loadTilesWhileInteracting : false;
options.loadTilesWhileInteracting : false;
/**
* @private
* @type {number}
*/
this.pixelRatio_ = options.pixelRatio !== undefined ?
options.pixelRatio : ol.has.DEVICE_PIXEL_RATIO;
options.pixelRatio : ol.has.DEVICE_PIXEL_RATIO;
/**
* @private
@@ -603,7 +603,7 @@ ol.Map.prototype.forEachLayerAtPixel = function(pixel, callback, opt_this, opt_l
}
var thisArg = opt_this !== undefined ? opt_this : null;
var layerFilter = opt_layerFilter !== undefined ?
opt_layerFilter : ol.functions.TRUE;
opt_layerFilter : ol.functions.TRUE;
var thisArg2 = opt_this2 !== undefined ? opt_this2 : null;
return this.renderer_.forEachLayerAtPixel(
pixel, this.frameState_, callback, thisArg,
@@ -627,7 +627,7 @@ ol.Map.prototype.hasFeatureAtPixel = function(pixel, opt_options) {
var coordinate = this.getCoordinateFromPixel(pixel);
opt_options = opt_options !== undefined ? opt_options : {};
var layerFilter = opt_options.layerFilter !== undefined ?
opt_options.layerFilter : ol.functions.TRUE;
opt_options.layerFilter : ol.functions.TRUE;
var hitTolerance = opt_options.hitTolerance !== undefined ?
opt_options.hitTolerance * this.frameState_.pixelRatio : 0;
return this.renderer_.hasFeatureAtCoordinate(
@@ -673,7 +673,7 @@ ol.Map.prototype.getEventPixel = function(event) {
*/
ol.Map.prototype.getTarget = function() {
return /** @type {Element|string|undefined} */ (
this.get(ol.MapProperty.TARGET));
this.get(ol.MapProperty.TARGET));
};
@@ -1023,7 +1023,7 @@ ol.Map.prototype.handleTargetChanged_ = function() {
targetElement.appendChild(this.viewport_);
var keyboardEventTarget = !this.keyboardEventTarget_ ?
targetElement : this.keyboardEventTarget_;
targetElement : this.keyboardEventTarget_;
this.keyHandlerKeys_ = [
ol.events.listen(keyboardEventTarget, ol.events.EventType.KEYDOWN,
this.handleBrowserEvent, this),
@@ -1387,8 +1387,8 @@ ol.Map.createOptionsInternal = function(options) {
var keyboardEventTarget = null;
if (options.keyboardEventTarget !== undefined) {
keyboardEventTarget = typeof options.keyboardEventTarget === 'string' ?
document.getElementById(options.keyboardEventTarget) :
options.keyboardEventTarget;
document.getElementById(options.keyboardEventTarget) :
options.keyboardEventTarget;
}
/**
@@ -1414,13 +1414,13 @@ ol.Map.createOptionsInternal = function(options) {
}
var layerGroup = (options.layers instanceof ol.layer.Group) ?
options.layers : new ol.layer.Group({layers: options.layers});
options.layers : new ol.layer.Group({layers: options.layers});
values[ol.MapProperty.LAYERGROUP] = layerGroup;
values[ol.MapProperty.TARGET] = options.target;
values[ol.MapProperty.VIEW] = options.view !== undefined ?
options.view : new ol.View();
options.view : new ol.View();
/**
* @type {function(new: ol.renderer.Map, Element, ol.Map)}

View File

@@ -50,7 +50,7 @@ ol.MapBrowserEventHandler = function(map, moveTolerance) {
* @private
*/
this.moveTolerance_ = moveTolerance ?
moveTolerance * ol.has.DEVICE_PIXEL_RATIO : ol.has.DEVICE_PIXEL_RATIO;
moveTolerance * ol.has.DEVICE_PIXEL_RATIO : ol.has.DEVICE_PIXEL_RATIO;
/**
* The most recent "down" type event (or null if none have occurred).
@@ -165,13 +165,13 @@ ol.MapBrowserEventHandler.prototype.updateActivePointers_ = function(pointerEven
ol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) {
this.updateActivePointers_(pointerEvent);
var newEvent = new ol.MapBrowserPointerEvent(
ol.MapBrowserEventType.POINTERUP, this.map_, pointerEvent);
ol.MapBrowserEventType.POINTERUP, this.map_, pointerEvent);
this.dispatchEvent(newEvent);
// We emulate click events on left mouse button click, touch contact, and pen
// contact. isMouseActionButton returns true in these cases (evt.button is set
// to 0).
// See http://www.w3.org/TR/pointerevents/#button-states
// We emulate click events on left mouse button click, touch contact, and pen
// contact. isMouseActionButton returns true in these cases (evt.button is set
// to 0).
// See http://www.w3.org/TR/pointerevents/#button-states
if (!this.dragging_ && this.isMouseActionButton_(pointerEvent)) {
this.emulateClick_(this.down_);
}
@@ -218,13 +218,13 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent)
new ol.pointer.PointerEventHandler(document);
this.dragListenerKeys_.push(
ol.events.listen(this.documentPointerEventHandler_,
ol.MapBrowserEventType.POINTERMOVE,
this.handlePointerMove_, this),
ol.events.listen(this.documentPointerEventHandler_,
ol.MapBrowserEventType.POINTERUP,
this.handlePointerUp_, this),
/* Note that the listener for `pointercancel is set up on
ol.events.listen(this.documentPointerEventHandler_,
ol.MapBrowserEventType.POINTERMOVE,
this.handlePointerMove_, this),
ol.events.listen(this.documentPointerEventHandler_,
ol.MapBrowserEventType.POINTERUP,
this.handlePointerUp_, this),
/* Note that the listener for `pointercancel is set up on
* `pointerEventHandler_` and not `documentPointerEventHandler_` like
* the `pointerup` and `pointermove` listeners.
*
@@ -237,9 +237,9 @@ ol.MapBrowserEventHandler.prototype.handlePointerDown_ = function(pointerEvent)
* only receive a `touchcancel` from `pointerEventHandler_`, because it is
* only registered there.
*/
ol.events.listen(this.pointerEventHandler_,
ol.MapBrowserEventType.POINTERCANCEL,
this.handlePointerUp_, this)
ol.events.listen(this.pointerEventHandler_,
ol.MapBrowserEventType.POINTERCANCEL,
this.handlePointerUp_, this)
);
}
};

View File

@@ -87,8 +87,8 @@ ol.Object.changeEventTypeCache_ = {};
*/
ol.Object.getChangeEventType = function(key) {
return ol.Object.changeEventTypeCache_.hasOwnProperty(key) ?
ol.Object.changeEventTypeCache_[key] :
(ol.Object.changeEventTypeCache_[key] = 'change:' + key);
ol.Object.changeEventTypeCache_[key] :
(ol.Object.changeEventTypeCache_[key] = 'change:' + key);
};

View File

@@ -46,7 +46,7 @@ ol.Overlay = function(options) {
* @type {boolean}
*/
this.insertFirst_ = options.insertFirst !== undefined ?
options.insertFirst : true;
options.insertFirst : true;
/**
* @private
@@ -73,14 +73,14 @@ ol.Overlay = function(options) {
* @type {olx.OverlayPanOptions}
*/
this.autoPanAnimation_ = options.autoPanAnimation ||
/** @type {olx.OverlayPanOptions} */ ({});
/** @type {olx.OverlayPanOptions} */ ({});
/**
* @private
* @type {number}
*/
this.autoPanMargin_ = options.autoPanMargin !== undefined ?
options.autoPanMargin : 20;
options.autoPanMargin : 20;
/**
* @private
@@ -131,8 +131,8 @@ ol.Overlay = function(options) {
this.setOffset(options.offset !== undefined ? options.offset : [0, 0]);
this.setPositioning(options.positioning !== undefined ?
/** @type {ol.OverlayPositioning} */ (options.positioning) :
ol.OverlayPositioning.TOP_LEFT);
/** @type {ol.OverlayPositioning} */ (options.positioning) :
ol.OverlayPositioning.TOP_LEFT);
if (options.position !== undefined) {
this.setPosition(options.position);
@@ -150,7 +150,7 @@ ol.inherits(ol.Overlay, ol.Object);
*/
ol.Overlay.prototype.getElement = function() {
return /** @type {Element|undefined} */ (
this.get(ol.Overlay.Property_.ELEMENT));
this.get(ol.Overlay.Property_.ELEMENT));
};
@@ -172,7 +172,7 @@ ol.Overlay.prototype.getId = function() {
*/
ol.Overlay.prototype.getMap = function() {
return /** @type {ol.Map|undefined} */ (
this.get(ol.Overlay.Property_.MAP));
this.get(ol.Overlay.Property_.MAP));
};
@@ -184,7 +184,7 @@ ol.Overlay.prototype.getMap = function() {
*/
ol.Overlay.prototype.getOffset = function() {
return /** @type {Array.<number>} */ (
this.get(ol.Overlay.Property_.OFFSET));
this.get(ol.Overlay.Property_.OFFSET));
};
@@ -197,7 +197,7 @@ ol.Overlay.prototype.getOffset = function() {
*/
ol.Overlay.prototype.getPosition = function() {
return /** @type {ol.Coordinate|undefined} */ (
this.get(ol.Overlay.Property_.POSITION));
this.get(ol.Overlay.Property_.POSITION));
};
@@ -210,7 +210,7 @@ ol.Overlay.prototype.getPosition = function() {
*/
ol.Overlay.prototype.getPositioning = function() {
return /** @type {ol.OverlayPositioning} */ (
this.get(ol.Overlay.Property_.POSITIONING));
this.get(ol.Overlay.Property_.POSITIONING));
};
@@ -241,7 +241,7 @@ ol.Overlay.prototype.handleMapChanged = function() {
ol.MapEventType.POSTRENDER, this.render, this);
this.updatePixelPosition();
var container = this.stopEvent_ ?
map.getOverlayContainerStopEvent() : map.getOverlayContainer();
map.getOverlayContainerStopEvent() : map.getOverlayContainer();
if (this.insertFirst_) {
container.insertBefore(this.element_, container.childNodes[0] || null);
} else {

View File

@@ -140,7 +140,7 @@ ol.pointer.PointerEvent = function(type, originalEvent, opt_eventDict) {
* @type {Node}
*/
this.relatedTarget = 'relatedTarget' in eventDict ?
eventDict['relatedTarget'] : null;
eventDict['relatedTarget'] : null;
// PointerEvent related properties

View File

@@ -1,6 +1,7 @@
goog.provide('ol.proj');
goog.require('ol');
goog.require('ol.Sphere');
goog.require('ol.extent');
goog.require('ol.proj.EPSG3857');
goog.require('ol.proj.EPSG4326');
@@ -9,7 +10,6 @@ goog.require('ol.proj.Units');
goog.require('ol.proj.proj4');
goog.require('ol.proj.projections');
goog.require('ol.proj.transforms');
goog.require('ol.sphere.NORMAL');
/**
@@ -21,6 +21,14 @@ goog.require('ol.sphere.NORMAL');
ol.proj.METERS_PER_UNIT = ol.proj.Units.METERS_PER_UNIT;
/**
* A place to store the radius of the Clarke 1866 Authalic Sphere.
* @private
* @type {ol.Sphere}
*/
ol.proj.AUTHALIC_SPHERE_ = new ol.Sphere(6370997);
if (ol.ENABLE_PROJ4JS) {
/**
* Register proj4. If not explicitly registered, it will be assumed that
@@ -80,9 +88,9 @@ ol.proj.getPointResolution = function(projection, resolution, point) {
point[0], point[1] + resolution / 2
];
vertices = toEPSG4326(vertices, vertices, 2);
var width = ol.sphere.NORMAL.haversineDistance(
var width = ol.proj.AUTHALIC_SPHERE_.haversineDistance(
vertices.slice(0, 2), vertices.slice(2, 4));
var height = ol.sphere.NORMAL.haversineDistance(
var height = ol.proj.AUTHALIC_SPHERE_.haversineDistance(
vertices.slice(4, 6), vertices.slice(6, 8));
pointResolution = (width + height) / 2;
var metersPerUnit = projection.getMetersPerUnit();
@@ -221,27 +229,27 @@ ol.proj.addCoordinateTransforms = function(source, destination, forward, inverse
*/
ol.proj.createTransformFromCoordinateTransform = function(transform) {
return (
/**
* @param {Array.<number>} input Input.
* @param {Array.<number>=} opt_output Output.
* @param {number=} opt_dimension Dimension.
* @return {Array.<number>} Output.
*/
function(input, opt_output, opt_dimension) {
var length = input.length;
var dimension = opt_dimension !== undefined ? opt_dimension : 2;
var output = opt_output !== undefined ? opt_output : new Array(length);
var point, i, j;
for (i = 0; i < length; i += dimension) {
point = transform([input[i], input[i + 1]]);
output[i] = point[0];
output[i + 1] = point[1];
for (j = dimension - 1; j >= 2; --j) {
output[i + j] = input[i + j];
}
/**
* @param {Array.<number>} input Input.
* @param {Array.<number>=} opt_output Output.
* @param {number=} opt_dimension Dimension.
* @return {Array.<number>} Output.
*/
function(input, opt_output, opt_dimension) {
var length = input.length;
var dimension = opt_dimension !== undefined ? opt_dimension : 2;
var output = opt_output !== undefined ? opt_output : new Array(length);
var point, i, j;
for (i = 0; i < length; i += dimension) {
point = transform([input[i], input[i + 1]]);
output[i] = point[0];
output[i + 1] = point[1];
for (j = dimension - 1; j >= 2; --j) {
output[i + j] = input[i + j];
}
return output;
});
}
return output;
});
};
@@ -291,9 +299,9 @@ ol.proj.get = function(projectionLike) {
} else if (typeof projectionLike === 'string') {
var code = projectionLike;
projection = ol.proj.projections.get(code);
if (ol.ENABLE_PROJ4JS) {
if (ol.ENABLE_PROJ4JS && !projection) {
var proj4js = ol.proj.proj4.get();
if (!projection && typeof proj4js == 'function' &&
if (typeof proj4js == 'function' &&
proj4js.defs(code) !== undefined) {
projection = new ol.proj.Projection({code: code});
ol.proj.addProjection(projection);

View File

@@ -31,6 +31,8 @@ ol.inherits(ol.proj.EPSG3857.Projection_, ol.proj.Projection);
/**
* Radius of WGS84 sphere
*
* @const
* @type {number}
*/

View File

@@ -3,7 +3,6 @@ goog.provide('ol.proj.EPSG4326');
goog.require('ol');
goog.require('ol.proj.Projection');
goog.require('ol.proj.Units');
goog.require('ol.sphere.WGS84');
/**
@@ -34,6 +33,15 @@ ol.proj.EPSG4326.Projection_ = function(code, opt_axisOrientation) {
ol.inherits(ol.proj.EPSG4326.Projection_, ol.proj.Projection);
/**
* Radius of WGS84 sphere
*
* @const
* @type {number}
*/
ol.proj.EPSG4326.RADIUS = 6378137;
/**
* Extent of the EPSG:4326 projection which is the whole world.
*
@@ -47,7 +55,7 @@ ol.proj.EPSG4326.EXTENT = [-180, -90, 180, 90];
* @const
* @type {number}
*/
ol.proj.EPSG4326.METERS_PER_UNIT = Math.PI * ol.sphere.WGS84.radius / 180;
ol.proj.EPSG4326.METERS_PER_UNIT = Math.PI * ol.proj.EPSG4326.RADIUS / 180;
/**

View File

@@ -36,66 +36,66 @@ goog.require('ol.proj.proj4');
* @api
*/
ol.proj.Projection = function(options) {
/**
* @private
* @type {string}
*/
/**
* @private
* @type {string}
*/
this.code_ = options.code;
/**
* @private
* @type {ol.proj.Units}
*/
/**
* @private
* @type {ol.proj.Units}
*/
this.units_ = /** @type {ol.proj.Units} */ (options.units);
/**
* @private
* @type {ol.Extent}
*/
/**
* @private
* @type {ol.Extent}
*/
this.extent_ = options.extent !== undefined ? options.extent : null;
/**
* @private
* @type {ol.Extent}
*/
/**
* @private
* @type {ol.Extent}
*/
this.worldExtent_ = options.worldExtent !== undefined ?
options.worldExtent : null;
options.worldExtent : null;
/**
* @private
* @type {string}
*/
/**
* @private
* @type {string}
*/
this.axisOrientation_ = options.axisOrientation !== undefined ?
options.axisOrientation : 'enu';
options.axisOrientation : 'enu';
/**
* @private
* @type {boolean}
*/
/**
* @private
* @type {boolean}
*/
this.global_ = options.global !== undefined ? options.global : false;
/**
* @private
* @type {boolean}
*/
/**
* @private
* @type {boolean}
*/
this.canWrapX_ = !!(this.global_ && this.extent_);
/**
* @private
* @type {function(number, ol.Coordinate):number|undefined}
*/
/**
* @private
* @type {function(number, ol.Coordinate):number|undefined}
*/
this.getPointResolutionFunc_ = options.getPointResolution;
/**
* @private
* @type {ol.tilegrid.TileGrid}
*/
/**
* @private
* @type {ol.tilegrid.TileGrid}
*/
this.defaultTileGrid_ = null;
/**
* @private
* @type {number|undefined}
*/
/**
* @private
* @type {number|undefined}
*/
this.metersPerUnit_ = options.metersPerUnit;
var code = options.code;

Some files were not shown because too many files have changed in this diff Show More