Compare commits
1211 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
626d1da0e7 | ||
|
|
96c670cebf | ||
|
|
42366c3d00 | ||
|
|
d698e2fcee | ||
|
|
7d5ede6728 | ||
|
|
616a0b161e | ||
|
|
6e878468ae | ||
|
|
9b23572d4e | ||
|
|
c0c3057498 | ||
|
|
34851d8ecb | ||
|
|
362c9b6851 | ||
|
|
a920cd94d9 | ||
|
|
338901774b | ||
|
|
2c04e4c071 | ||
|
|
be0c9f3c8a | ||
|
|
5d590bcf95 | ||
|
|
7572f27cf9 | ||
|
|
ce36947bdb | ||
|
|
5f6ceff3a7 | ||
|
|
7d20e2a317 | ||
|
|
0d507dcbb0 | ||
|
|
c600a92516 | ||
|
|
1df8cba753 | ||
|
|
bb87b8e7ce | ||
|
|
6a770f03b8 | ||
|
|
683097d62a | ||
|
|
e58a470e69 | ||
|
|
56067d1cda | ||
|
|
40f4d5256b | ||
|
|
279d1829bb | ||
|
|
eb6d61e6d1 | ||
|
|
7dff739bce | ||
|
|
8beeee8a95 | ||
|
|
ebb40c8046 | ||
|
|
4822ca273f | ||
|
|
563d51b389 | ||
|
|
57d9b87fb3 | ||
|
|
4c36e05f27 | ||
|
|
eb7dde6d0f | ||
|
|
1d04eabeda | ||
|
|
5c6c45fc92 | ||
|
|
b7c4e4f297 | ||
|
|
6a8b236d82 | ||
|
|
e669b20ed5 | ||
|
|
ae2c9144e1 | ||
|
|
45e9695239 | ||
|
|
79748c6f0c | ||
|
|
d9c04cd925 | ||
|
|
7df00242f0 | ||
|
|
4862a8c897 | ||
|
|
8813eb0112 | ||
|
|
b75f7f9e3b | ||
|
|
9b4cb96502 | ||
|
|
c71db17c1d | ||
|
|
bfd9ec1ef1 | ||
|
|
3e18b85206 | ||
|
|
c707c5e9db | ||
|
|
f474e7ccd9 | ||
|
|
752cf78e50 | ||
|
|
52ee1b1630 | ||
|
|
d8f624bf44 | ||
|
|
7916f36f7a | ||
|
|
3efea3ddfc | ||
|
|
9462c2148d | ||
|
|
8061b69495 | ||
|
|
4569858882 | ||
|
|
3a7b9751d7 | ||
|
|
d3f246518b | ||
|
|
b9aba8babd | ||
|
|
023816f43b | ||
|
|
4b13627fd7 | ||
|
|
dd23403315 | ||
|
|
3a7d1ebd16 | ||
|
|
180a75d714 | ||
|
|
0997a171a0 | ||
|
|
96883e0b69 | ||
|
|
da94ee5754 | ||
|
|
5a350fb978 | ||
|
|
d87da4b3c8 | ||
|
|
80fa7e5ba1 | ||
|
|
1fb932f7bb | ||
|
|
b26bea8e88 | ||
|
|
1a80c0ef01 | ||
|
|
dcba9f2ff4 | ||
|
|
064cd5695a | ||
|
|
b6adeea4f4 | ||
|
|
49a807fa56 | ||
|
|
7dcef882c2 | ||
|
|
b6b8ae265c | ||
|
|
9951c88343 | ||
|
|
c9715d32b0 | ||
|
|
47f32a30b8 | ||
|
|
d8150c5155 | ||
|
|
1b640870b1 | ||
|
|
0d979e37b8 | ||
|
|
daf81b9c26 | ||
|
|
4b1accb149 | ||
|
|
b79174d6a3 | ||
|
|
41fe72fab5 | ||
|
|
8f1726ae39 | ||
|
|
3867c0e45a | ||
|
|
15ab515ceb | ||
|
|
aad727ad14 | ||
|
|
b698fe9968 | ||
|
|
b782e0be98 | ||
|
|
b05ead4056 | ||
|
|
d0180f35e0 | ||
|
|
3a7905f2fd | ||
|
|
49c2af165a | ||
|
|
7527eddbaf | ||
|
|
6854833fbd | ||
|
|
c8b90adfef | ||
|
|
d33a45dfa2 | ||
|
|
1cec149681 | ||
|
|
2e3d0d57d5 | ||
|
|
a629be0e2e | ||
|
|
6c32b280f5 | ||
|
|
787ab91eef | ||
|
|
5b539a75bb | ||
|
|
a6f80ef4b8 | ||
|
|
de42334b19 | ||
|
|
e4b1d6e1de | ||
|
|
cadc346de2 | ||
|
|
927a0a4627 | ||
|
|
d9cf8df052 | ||
|
|
2ff3682eff | ||
|
|
8836dd6e70 | ||
|
|
6ab0ed2df7 | ||
|
|
8dd3e7ebff | ||
|
|
7f71876dad | ||
|
|
54bea174ff | ||
|
|
9d37090e6b | ||
|
|
b42a214252 | ||
|
|
61d2506970 | ||
|
|
3bfbd47fdb | ||
|
|
4f5cc22ba0 | ||
|
|
a7205d8aec | ||
|
|
6d0fb4d74e | ||
|
|
d1185da6b1 | ||
|
|
6c4b30fa02 | ||
|
|
e2f8c01c42 | ||
|
|
ad7616abb2 | ||
|
|
56b08adef7 | ||
|
|
70162d7889 | ||
|
|
4c1be5967d | ||
|
|
d12cdc336c | ||
|
|
232f4975c4 | ||
|
|
45547eefbe | ||
|
|
086202cfdd | ||
|
|
3079924a3d | ||
|
|
7e812959e7 | ||
|
|
22aeb3612e | ||
|
|
6894bc8444 | ||
|
|
1620a11181 | ||
|
|
18ec8a487f | ||
|
|
329edc4ec6 | ||
|
|
7a5ad336c6 | ||
|
|
054dc81485 | ||
|
|
f63a856741 | ||
|
|
eb8a1845a5 | ||
|
|
5897cf55aa | ||
|
|
e46e0f85fb | ||
|
|
3fbc6fa361 | ||
|
|
e1336e1891 | ||
|
|
c30373963e | ||
|
|
96cb3d314f | ||
|
|
733167c612 | ||
|
|
84cc48a7bf | ||
|
|
c3d9946924 | ||
|
|
5e712ac88c | ||
|
|
9e94308cdc | ||
|
|
b8e3deb756 | ||
|
|
3e3104bbb1 | ||
|
|
56c5cef3f8 | ||
|
|
199fcb05e3 | ||
|
|
15a4b7f4a6 | ||
|
|
b2ce4c19e1 | ||
|
|
1074c9d44a | ||
|
|
ae8321ab30 | ||
|
|
c42af7919e | ||
|
|
77d8d48b57 | ||
|
|
5cbae8c8f5 | ||
|
|
bf35b40b11 | ||
|
|
e5432f7cb5 | ||
|
|
2cf1fe5552 | ||
|
|
eb1a46cf7d | ||
|
|
d5f18dc120 | ||
|
|
0ddae22661 | ||
|
|
fb2506672c | ||
|
|
391ff4eeab | ||
|
|
4686dfc0bb | ||
|
|
a924cc4d11 | ||
|
|
5c99b6349c | ||
|
|
829569c6b5 | ||
|
|
e6d342dc96 | ||
|
|
8bfa1c45e7 | ||
|
|
bfcceac68f | ||
|
|
e812f2435e | ||
|
|
c4ddc62ab4 | ||
|
|
f117550694 | ||
|
|
dfda3e37a4 | ||
|
|
b5206cb354 | ||
|
|
90ba1140ac | ||
|
|
9cea85be80 | ||
|
|
e79211e0c1 | ||
|
|
ad23a9c9cd | ||
|
|
eafa5419c3 | ||
|
|
b529f0f0a0 | ||
|
|
c5c24f209a | ||
|
|
0381689fb6 | ||
|
|
89954ca5fc | ||
|
|
13f265b4e1 | ||
|
|
776ffa925f | ||
|
|
ada6b5640a | ||
|
|
33c197cf16 | ||
|
|
e0f250483d | ||
|
|
c4ee8518e1 | ||
|
|
d4b7bb7c57 | ||
|
|
a460cb3983 | ||
|
|
7f18033171 | ||
|
|
693ec7706e | ||
|
|
9081682286 | ||
|
|
e97f017dda | ||
|
|
22b27cdb02 | ||
|
|
480c276d93 | ||
|
|
9247dc9f41 | ||
|
|
480f352cc6 | ||
|
|
4080e729df | ||
|
|
c1fd95305c | ||
|
|
0a6a3f5d65 | ||
|
|
456def67de | ||
|
|
f9a8239443 | ||
|
|
a0a4369c24 | ||
|
|
078d3fb007 | ||
|
|
65c2f7de5f | ||
|
|
8ec90a2045 | ||
|
|
0906bf09ed | ||
|
|
ce8d57b534 | ||
|
|
b8a0d6b702 | ||
|
|
4ba500925f | ||
|
|
c63c358d08 | ||
|
|
162c47eb3e | ||
|
|
f117cddb34 | ||
|
|
f6b47f086b | ||
|
|
2d3e5d2bac | ||
|
|
8f6cb00ea6 | ||
|
|
80f7b726f9 | ||
|
|
f75cec5c8e | ||
|
|
89f21f5d50 | ||
|
|
f9723aa310 | ||
|
|
87644a1a46 | ||
|
|
38c80e7f9b | ||
|
|
0d3eb8642f | ||
|
|
a7fcf05a4b | ||
|
|
31f61121d9 | ||
|
|
b8d44e7f91 | ||
|
|
423c8761aa | ||
|
|
ef871f54f8 | ||
|
|
898c8fa9a2 | ||
|
|
350ce735f1 | ||
|
|
0f65d7778a | ||
|
|
12925a35b9 | ||
|
|
df32d04fdb | ||
|
|
987b032d9d | ||
|
|
5d70e61753 | ||
|
|
130535c83e | ||
|
|
fcbdc6bd26 | ||
|
|
df2d71ef83 | ||
|
|
b390c1bdf8 | ||
|
|
f4500c8f89 | ||
|
|
4d4bed454a | ||
|
|
054227fd26 | ||
|
|
b7415219a6 | ||
|
|
dce4210a5b | ||
|
|
6cc5bd466d | ||
|
|
b4cb786f29 | ||
|
|
225f0739ec | ||
|
|
7feb8b22f6 | ||
|
|
9e7e5efd27 | ||
|
|
9a841583db | ||
|
|
9cc8390dfd | ||
|
|
f2518e4c08 | ||
|
|
aa67078d74 | ||
|
|
0243ce6612 | ||
|
|
3abcbcf377 | ||
|
|
5c9e099628 | ||
|
|
cb69cecf03 | ||
|
|
2ad93b9e86 | ||
|
|
aa23a7bce5 | ||
|
|
f0608f6fed | ||
|
|
798399101f | ||
|
|
bc5f81cfa0 | ||
|
|
fc3c808209 | ||
|
|
1d6f7e9504 | ||
|
|
60ea87fdfb | ||
|
|
caa8428990 | ||
|
|
007ad2c58f | ||
|
|
663f18cd29 | ||
|
|
e25cb30e5f | ||
|
|
c7dbd4a303 | ||
|
|
43f84e798f | ||
|
|
d640accdc8 | ||
|
|
f1c0072bd0 | ||
|
|
d219a8ef22 | ||
|
|
3fbe9265da | ||
|
|
ad65989d28 | ||
|
|
9d5f7c1eb4 | ||
|
|
48cf51a7ca | ||
|
|
829a0ca224 | ||
|
|
5c9b17a3b2 | ||
|
|
915df000ab | ||
|
|
247d8668d1 | ||
|
|
7c7a4c2b7a | ||
|
|
8e161a077f | ||
|
|
7885ad6ae7 | ||
|
|
98f7b5f186 | ||
|
|
72b2182219 | ||
|
|
eb7041c71d | ||
|
|
65fe82d188 | ||
|
|
90a5997c22 | ||
|
|
fd5a3ce7b4 | ||
|
|
948a1f1321 | ||
|
|
edc6746545 | ||
|
|
6ceef2b0cc | ||
|
|
f3bafab1e6 | ||
|
|
316480dcda | ||
|
|
a39544cce0 | ||
|
|
cf9619f378 | ||
|
|
c4ee074274 | ||
|
|
1702a4ed36 | ||
|
|
53f98dcf4e | ||
|
|
f625a29978 | ||
|
|
21144f161a | ||
|
|
b6a550f354 | ||
|
|
b27c1c82d4 | ||
|
|
077a827197 | ||
|
|
2970da3461 | ||
|
|
165e3fe1ff | ||
|
|
b53a5e28d5 | ||
|
|
d8984ca1aa | ||
|
|
c185bf8f30 | ||
|
|
8bc72c62f6 | ||
|
|
a17bc916b1 | ||
|
|
c732538433 | ||
|
|
ee9cfef35a | ||
|
|
970beb1741 | ||
|
|
11eeb6617c | ||
|
|
d13a5dfb9f | ||
|
|
4b3726fe71 | ||
|
|
12f3a9d454 | ||
|
|
4f4d12024b | ||
|
|
fbb2883f6e | ||
|
|
79312c2083 | ||
|
|
7679069520 | ||
|
|
1033171ff0 | ||
|
|
10c715ad9a | ||
|
|
06dc0902c6 | ||
|
|
845957a27f | ||
|
|
c23ae78978 | ||
|
|
0d26a9aa87 | ||
|
|
0bae04331d | ||
|
|
c726cbfcd9 | ||
|
|
b1a73da9dd | ||
|
|
dafcdfa494 | ||
|
|
baf424f99c | ||
|
|
017ff47bf8 | ||
|
|
110ed04a84 | ||
|
|
2f5bbb37ed | ||
|
|
68f5ff0045 | ||
|
|
5f55e01849 | ||
|
|
f7943b9401 | ||
|
|
8bd0a1232a | ||
|
|
c97a29d13b | ||
|
|
66fea4dec9 | ||
|
|
35468e2bbb | ||
|
|
37dac8e0cf | ||
|
|
bbf074b70a | ||
|
|
5dca3e9b20 | ||
|
|
789ddad536 | ||
|
|
409969fa2a | ||
|
|
76418bdbe5 | ||
|
|
3e2574bf49 | ||
|
|
12863cf3fd | ||
|
|
2ef8302122 | ||
|
|
132686b4a7 | ||
|
|
0f486e86f7 | ||
|
|
c85982bbe5 | ||
|
|
4814983306 | ||
|
|
d39904b66b | ||
|
|
25612f1af2 | ||
|
|
35c58b3b0e | ||
|
|
3e5c4d0bf6 | ||
|
|
bc71a36292 | ||
|
|
d62e910239 | ||
|
|
d0691ecc4d | ||
|
|
974823dbd4 | ||
|
|
38322d615b | ||
|
|
060c9f3bc6 | ||
|
|
6c48b2067b | ||
|
|
da7f38635b | ||
|
|
461ec1d3bc | ||
|
|
cf6dd38866 | ||
|
|
3ef61fa1c5 | ||
|
|
740420468e | ||
|
|
b827bc126c | ||
|
|
1f90aad4ad | ||
|
|
91d2b3b87f | ||
|
|
904fac082c | ||
|
|
b952f118ba | ||
|
|
1ee03625e9 | ||
|
|
3be6a84de6 | ||
|
|
1ff43686f5 | ||
|
|
a09a76c766 | ||
|
|
f9a92c422c | ||
|
|
0a784bfc3b | ||
|
|
d35ea9e4f4 | ||
|
|
55dda99cfe | ||
|
|
df51e55781 | ||
|
|
a753135e84 | ||
|
|
d4ff5527c9 | ||
|
|
06fe8288ce | ||
|
|
8e982b0763 | ||
|
|
38b890a69a | ||
|
|
8eb6814e4b | ||
|
|
6b162f813f | ||
|
|
9a4c56d216 | ||
|
|
5d2f4630f5 | ||
|
|
cc4a690676 | ||
|
|
68438c7c10 | ||
|
|
7dd322dd6f | ||
|
|
676476ec64 | ||
|
|
8f8b7e1f17 | ||
|
|
e62c333f32 | ||
|
|
97afb31a65 | ||
|
|
4b423fca16 | ||
|
|
78ac65e57d | ||
|
|
a796542223 | ||
|
|
dc7f60801a | ||
|
|
9b55d20f90 | ||
|
|
d8a845de39 | ||
|
|
ffea25fd6f | ||
|
|
aee37c4f90 | ||
|
|
62854f6e32 | ||
|
|
ab76c2cae3 | ||
|
|
eabb795624 | ||
|
|
38b12d3149 | ||
|
|
0ae00fb277 | ||
|
|
9b0349f2d5 | ||
|
|
d4763a0fe7 | ||
|
|
3582445755 | ||
|
|
27b5036c62 | ||
|
|
a95327f18e | ||
|
|
95972b354e | ||
|
|
b7e0acf4fa | ||
|
|
3d86339b88 | ||
|
|
3bc84c7288 | ||
|
|
85a6de0ed6 | ||
|
|
a24716ac8a | ||
|
|
f1bf782133 | ||
|
|
2f5999529a | ||
|
|
fa68410e5d | ||
|
|
33cf4e6179 | ||
|
|
14ea2bf413 | ||
|
|
374f916b3a | ||
|
|
6d3103d4a9 | ||
|
|
4a311e66d7 | ||
|
|
6b46d5c76a | ||
|
|
1907de667a | ||
|
|
711ec705b7 | ||
|
|
8e8fc9977c | ||
|
|
ddc51ee267 | ||
|
|
cd0bed6291 | ||
|
|
440a85c6f4 | ||
|
|
5ca6b5dd81 | ||
|
|
fe0e17fdaf | ||
|
|
784701641d | ||
|
|
2bf191b5e3 | ||
|
|
19015d2ca9 | ||
|
|
e95a350203 | ||
|
|
b0cba674bc | ||
|
|
7c6ccca572 | ||
|
|
2ea685e18f | ||
|
|
13ce41a1d5 | ||
|
|
5192257a6d | ||
|
|
0bc96bb769 | ||
|
|
1bf4ddac6d | ||
|
|
d3365fb3a5 | ||
|
|
af30b88413 | ||
|
|
6478454a93 | ||
|
|
49f9690786 | ||
|
|
8d9acb8f48 | ||
|
|
2d12531105 | ||
|
|
e57ea1e66b | ||
|
|
a1c6662812 | ||
|
|
a101204ded | ||
|
|
fffeeaea97 | ||
|
|
babc33fcb0 | ||
|
|
abdae62481 | ||
|
|
7ece729d5f | ||
|
|
a8b7f3570d | ||
|
|
3623b4b31d | ||
|
|
5eb1537f48 | ||
|
|
7a09b11da5 | ||
|
|
3c00c7cf4c | ||
|
|
ae998a7585 | ||
|
|
86561e5ef2 | ||
|
|
e0f574bd25 | ||
|
|
f5722bbbf9 | ||
|
|
9b0b1543e0 | ||
|
|
aafe698285 | ||
|
|
c167b2b49d | ||
|
|
b60b0ecdb0 | ||
|
|
7fd017879f | ||
|
|
6dc90aefa2 | ||
|
|
a9f3367310 | ||
|
|
d07185e8f2 | ||
|
|
df170859cc | ||
|
|
ca355d2887 | ||
|
|
38dca7792c | ||
|
|
2c9fab22c8 | ||
|
|
65583a8b77 | ||
|
|
7bcd925cdb | ||
|
|
82a30b4cd5 | ||
|
|
e7db23761c | ||
|
|
31f7279de1 | ||
|
|
c3beae6b16 | ||
|
|
ae8f5149a7 | ||
|
|
0052116860 | ||
|
|
5c2501d982 | ||
|
|
1238ab0df0 | ||
|
|
f8b59dbd53 | ||
|
|
443c9749fb | ||
|
|
7bc2081138 | ||
|
|
0a01204bb3 | ||
|
|
aaf689bbec | ||
|
|
7922c08fe0 | ||
|
|
045109aaab | ||
|
|
de058c7889 | ||
|
|
39cb30308d | ||
|
|
a9e6b7115f | ||
|
|
ddcfe77897 | ||
|
|
f3824ec244 | ||
|
|
0c7e9a823c | ||
|
|
eb6aeee819 | ||
|
|
bcd983723f | ||
|
|
8fa628a11d | ||
|
|
4c504ede74 | ||
|
|
32a67801e5 | ||
|
|
b7d0e06f05 | ||
|
|
0fef608683 | ||
|
|
d28ffc4808 | ||
|
|
b03b762500 | ||
|
|
48478c6868 | ||
|
|
ca77a20b57 | ||
|
|
ac144d934f | ||
|
|
250a1e4da3 | ||
|
|
363ac54509 | ||
|
|
e3947fb09a | ||
|
|
c8bc3620d3 | ||
|
|
347c4c869d | ||
|
|
4b605d40d9 | ||
|
|
ef816d30ed | ||
|
|
99eab24b20 | ||
|
|
9f7e94ec85 | ||
|
|
641a829918 | ||
|
|
794c7950c8 | ||
|
|
d62ad47338 | ||
|
|
fdf52c1865 | ||
|
|
bdc05472bc | ||
|
|
47325cd4ae | ||
|
|
17e56d8357 | ||
|
|
3e2cc3c246 | ||
|
|
e4063102b7 | ||
|
|
3587418888 | ||
|
|
9802cfd56f | ||
|
|
12ddc7da57 | ||
|
|
571cd1c57a | ||
|
|
a820ccea5a | ||
|
|
9421bbd362 | ||
|
|
4c2a0d2053 | ||
|
|
b3ad50018d | ||
|
|
27d30e4286 | ||
|
|
3fb539460c | ||
|
|
61f0c55975 | ||
|
|
dfb55fb6a5 | ||
|
|
e716428895 | ||
|
|
87bb1b956b | ||
|
|
b2e419654b | ||
|
|
e109be4b57 | ||
|
|
0fd1a575a9 | ||
|
|
f0bf61bbf3 | ||
|
|
6d1d47a918 | ||
|
|
aef11b7471 | ||
|
|
b5d80679d8 | ||
|
|
dcd81ab4b3 | ||
|
|
ccc7c1b9b7 | ||
|
|
88a3fda514 | ||
|
|
22e33519c8 | ||
|
|
6255d8b493 | ||
|
|
0d16e0f0c8 | ||
|
|
c30233d9c7 | ||
|
|
4a07327dab | ||
|
|
cc39c26132 | ||
|
|
9f725f99ca | ||
|
|
4cbeb5ee22 | ||
|
|
8e4d7c0715 | ||
|
|
6790b8655a | ||
|
|
fabf05977a | ||
|
|
26ce8032eb | ||
|
|
d5bafc5e9f | ||
|
|
ce4ecb711b | ||
|
|
4734530ce2 | ||
|
|
1d7bae6b26 | ||
|
|
e385e81a20 | ||
|
|
25516fead9 | ||
|
|
f57f0e17ab | ||
|
|
56ad3ea9aa | ||
|
|
1a2544d30a | ||
|
|
6cd1f3f262 | ||
|
|
275f5bc796 | ||
|
|
c42ec27a4a | ||
|
|
6556e5eb52 | ||
|
|
da39e9f96a | ||
|
|
5878e7f839 | ||
|
|
802cfb59d5 | ||
|
|
2d74a6b10f | ||
|
|
34e82de8c8 | ||
|
|
9e591d21d0 | ||
|
|
890b96f1e9 | ||
|
|
5a29834555 | ||
|
|
5155e7a6ac | ||
|
|
1845665306 | ||
|
|
ed4bae064d | ||
|
|
b72fddf7f4 | ||
|
|
22491601ba | ||
|
|
638f8275aa | ||
|
|
fc16c4500d | ||
|
|
ec01aa45b9 | ||
|
|
8ba830f91f | ||
|
|
d6841e6d9d | ||
|
|
b8b48afc82 | ||
|
|
e307579d49 | ||
|
|
3ed46c50cc | ||
|
|
c0bbb6c4fa | ||
|
|
fe2f83e878 | ||
|
|
b3369cd516 | ||
|
|
857a8ca2bb | ||
|
|
37f91690f1 | ||
|
|
b904427087 | ||
|
|
57db47ac18 | ||
|
|
6360e4497d | ||
|
|
2e873d3e6d | ||
|
|
336de4b1b1 | ||
|
|
34953e8266 | ||
|
|
dae5bd53b7 | ||
|
|
a324f9805f | ||
|
|
32d5300682 | ||
|
|
fe74bd1b2c | ||
|
|
235f7c5bd1 | ||
|
|
fd9db053c0 | ||
|
|
ac24b615c3 | ||
|
|
44782c59a5 | ||
|
|
374f02c725 | ||
|
|
1e12e7ca90 | ||
|
|
fb8af71f25 | ||
|
|
283d878177 | ||
|
|
a665b76f8f | ||
|
|
8fcde092c7 | ||
|
|
40c33a21eb | ||
|
|
ab42965aa2 | ||
|
|
4132505313 | ||
|
|
97f8e4ac8d | ||
|
|
82ef80cf60 | ||
|
|
05f71383f9 | ||
|
|
ee54d21b89 | ||
|
|
7c88329354 | ||
|
|
2f7c97f25a | ||
|
|
3af2257345 | ||
|
|
7d01946fef | ||
|
|
257784e277 | ||
|
|
f1402522b5 | ||
|
|
20ceae2655 | ||
|
|
9681ec3e10 | ||
|
|
d5ffd8abac | ||
|
|
d73e183c89 | ||
|
|
d12db0419c | ||
|
|
c564a0963c | ||
|
|
4b61e864e7 | ||
|
|
3db26f1d2b | ||
|
|
aba47907ca | ||
|
|
ca3dfe2b35 | ||
|
|
4714c9b380 | ||
|
|
552f9483cb | ||
|
|
a77b7aa817 | ||
|
|
3bf4cf28f8 | ||
|
|
b1ac2ff2f2 | ||
|
|
46e33a2979 | ||
|
|
a306c5327c | ||
|
|
2b2f745248 | ||
|
|
327763cc82 | ||
|
|
f07e59d63f | ||
|
|
e9e76954b2 | ||
|
|
41eeed5f35 | ||
|
|
7593a18a19 | ||
|
|
ea65f65b37 | ||
|
|
c701ad6749 | ||
|
|
7e9dd65f8b | ||
|
|
cee1575a6c | ||
|
|
62e9d259b2 | ||
|
|
b3b7579f84 | ||
|
|
ffced21893 | ||
|
|
2a5fffaee4 | ||
|
|
41887e660b | ||
|
|
39010238b9 | ||
|
|
b991895c61 | ||
|
|
b269161276 | ||
|
|
96729baa9f | ||
|
|
3685626187 | ||
|
|
50c0bc6879 | ||
|
|
08aa6ee82d | ||
|
|
84889d9dc5 | ||
|
|
89248cf60a | ||
|
|
01bc02214c | ||
|
|
a7a2499bc7 | ||
|
|
344658edb0 | ||
|
|
46e436b599 | ||
|
|
23a24973eb | ||
|
|
c8e22bdb44 | ||
|
|
d9a4482393 | ||
|
|
501e7456c0 | ||
|
|
6c80ddcb14 | ||
|
|
87865be9f4 | ||
|
|
240f425c46 | ||
|
|
1de46c68d7 | ||
|
|
ce879e115f | ||
|
|
cb8167b31a | ||
|
|
96f8a806a6 | ||
|
|
fb816b7ab5 | ||
|
|
bdf3798c7a | ||
|
|
1df7f6c2c7 | ||
|
|
a2cf5b0889 | ||
|
|
d91330d83d | ||
|
|
c79f3aa101 | ||
|
|
b7376779fb | ||
|
|
2f17106b68 | ||
|
|
f32c550dbe | ||
|
|
bdeb195bfb | ||
|
|
583f47d24d | ||
|
|
d85c31e112 | ||
|
|
97dafa6425 | ||
|
|
5998011985 | ||
|
|
73e76fe468 | ||
|
|
4c3a7d0248 | ||
|
|
dee4d3b130 | ||
|
|
c05ffff629 | ||
|
|
6abe3047ec | ||
|
|
89e682ba9c | ||
|
|
f715e3186a | ||
|
|
fe3cdd8d1b | ||
|
|
440d253335 | ||
|
|
3268b20333 | ||
|
|
e0c5e742ad | ||
|
|
0a364b32ed | ||
|
|
c0acc8d825 | ||
|
|
c50b7d759c | ||
|
|
d4658837e2 | ||
|
|
1d221f8166 | ||
|
|
ebe0c6a88c | ||
|
|
0c6a40f5b5 | ||
|
|
64da2647a6 | ||
|
|
f0841b38cd | ||
|
|
4924f34287 | ||
|
|
5ba6ddcecf | ||
|
|
fb24c68b9c | ||
|
|
509fbaee1c | ||
|
|
815a22bd22 | ||
|
|
6b8a5870ba | ||
|
|
83025fb97d | ||
|
|
581b372c6a | ||
|
|
43756a2d59 | ||
|
|
64a7cdf372 | ||
|
|
9029c0fdad | ||
|
|
afe1467ddf | ||
|
|
03ed3fe43f | ||
|
|
84c11b08fa | ||
|
|
161d75dd22 | ||
|
|
1253177ae4 | ||
|
|
0f99f113e3 | ||
|
|
c0f2187310 | ||
|
|
d0d6215550 | ||
|
|
759386e37e | ||
|
|
4c8d8c21dc | ||
|
|
e32be091a4 | ||
|
|
cc442d964b | ||
|
|
e55caef0d2 | ||
|
|
c7a3fcd426 | ||
|
|
224d86802e | ||
|
|
8415a0c8ba | ||
|
|
02bfa42736 | ||
|
|
0115368649 | ||
|
|
7618c96c29 | ||
|
|
28e51740c6 | ||
|
|
1c9a87d50d | ||
|
|
209d39a460 | ||
|
|
d7a992ba83 | ||
|
|
1bd388188b | ||
|
|
05bbfd58a8 | ||
|
|
c99b1772ed | ||
|
|
46b03e79a4 | ||
|
|
787f98c5f2 | ||
|
|
2c92d9a709 | ||
|
|
14d7f2a797 | ||
|
|
4534bb8861 | ||
|
|
bf43816b66 | ||
|
|
a1dded3c27 | ||
|
|
26f025a409 | ||
|
|
00f20a11b5 | ||
|
|
22e1159736 | ||
|
|
6eea0a1fc6 | ||
|
|
95d2085cc4 | ||
|
|
495a7c95a1 | ||
|
|
64bc8f74be | ||
|
|
8bff6a1abe | ||
|
|
ed1be0d4e7 | ||
|
|
d4bd5f24c6 | ||
|
|
f332cdacf1 | ||
|
|
46ec078501 | ||
|
|
9201312737 | ||
|
|
178e3f1856 | ||
|
|
4b7e52c76f | ||
|
|
127818f9b7 | ||
|
|
6ca1640659 | ||
|
|
2d53eb7667 | ||
|
|
08c6e601b8 | ||
|
|
a715a38d75 | ||
|
|
ffeda3f25a | ||
|
|
8027c577bc | ||
|
|
765189b86e | ||
|
|
fed6376e26 | ||
|
|
a1e19b4905 | ||
|
|
46870456ac | ||
|
|
f5761daa61 | ||
|
|
46eb14dc96 | ||
|
|
87a06c0086 | ||
|
|
b40c439d33 | ||
|
|
74410487aa | ||
|
|
9ebde652dc | ||
|
|
abb86e16f0 | ||
|
|
cd80ca6024 | ||
|
|
6fe80c4111 | ||
|
|
51da7bad8c | ||
|
|
f863386f39 | ||
|
|
e68eb726d2 | ||
|
|
44d9950e8c | ||
|
|
8a82048c12 | ||
|
|
1f54b33961 | ||
|
|
dc7aee1974 | ||
|
|
4d4d9abe76 | ||
|
|
aa41da1318 | ||
|
|
ef435d9deb | ||
|
|
88d1258e83 | ||
|
|
757b6a214c | ||
|
|
7c2e0fa627 | ||
|
|
ba2d39e683 | ||
|
|
aad9e4e8d3 | ||
|
|
67ec0b5988 | ||
|
|
ee3259d13e | ||
|
|
398b1f86ce | ||
|
|
f938ce82d9 | ||
|
|
70375d5227 | ||
|
|
d77d504d01 | ||
|
|
bd72f6117b | ||
|
|
bbea205a9c | ||
|
|
2ecd2eadf7 | ||
|
|
c8225e49b1 | ||
|
|
9f108391ae | ||
|
|
33adcd3903 | ||
|
|
5ddbe54310 | ||
|
|
2d415b6ce8 | ||
|
|
aa6a5d52dd | ||
|
|
8fb5dc75ef | ||
|
|
03fa9965c5 | ||
|
|
7152cdc87f | ||
|
|
d712b2ba54 | ||
|
|
c06774acb5 | ||
|
|
88030dbce7 | ||
|
|
773ac433ce | ||
|
|
771c418de3 | ||
|
|
1652da8e9d | ||
|
|
1d533d2924 | ||
|
|
5cab561f12 | ||
|
|
56e3ba4578 | ||
|
|
97acd989a2 | ||
|
|
8eaeb7bc35 | ||
|
|
c6b172aef2 | ||
|
|
120ace5cef | ||
|
|
47d17342ca | ||
|
|
478ecb80fd | ||
|
|
6d095bdf7c | ||
|
|
bf314f30d5 | ||
|
|
af4184e743 | ||
|
|
4785001548 | ||
|
|
780df9819b | ||
|
|
d917952615 | ||
|
|
fd6a5d8df3 | ||
|
|
01b64bc655 | ||
|
|
ed980e0e73 | ||
|
|
a6c3607897 | ||
|
|
45967992fb | ||
|
|
c83caa9686 | ||
|
|
f440de2446 | ||
|
|
0a93ad5430 | ||
|
|
473023d146 | ||
|
|
fa7f580053 | ||
|
|
3f5dd45310 | ||
|
|
119289040f | ||
|
|
d8d0f87ad6 | ||
|
|
b42b6ae1c5 | ||
|
|
6d531cdc29 | ||
|
|
b61c257124 | ||
|
|
5a2c206cab | ||
|
|
74fd55a3e8 | ||
|
|
017703f05d | ||
|
|
2b50734d0b | ||
|
|
26006418a8 | ||
|
|
dd665c7e9e | ||
|
|
9597a383e8 | ||
|
|
081f3689b1 | ||
|
|
8b3677967d | ||
|
|
323886cdda | ||
|
|
da479908e7 | ||
|
|
345c5c5eb7 | ||
|
|
a121d4c568 | ||
|
|
f277b5c9a5 | ||
|
|
1ce43e323d | ||
|
|
0a8c218b8a | ||
|
|
edb28d6a47 | ||
|
|
c3c81caf4b | ||
|
|
d2bea2692c | ||
|
|
c1afd513b7 | ||
|
|
9dd5b611c7 | ||
|
|
26be3a5450 | ||
|
|
b8369ad3f0 | ||
|
|
6f20afeba9 | ||
|
|
d45283c55e | ||
|
|
164407bc83 | ||
|
|
dc0ff2eee8 | ||
|
|
6fdc35e379 | ||
|
|
4970d143b0 | ||
|
|
141cd6853c | ||
|
|
e1ee3474bf | ||
|
|
7129a08e0b | ||
|
|
49796090fa | ||
|
|
ede37f26f7 | ||
|
|
ddc3dbaa87 | ||
|
|
63f126a528 | ||
|
|
389d36e4bd | ||
|
|
6cf5f204c5 | ||
|
|
d6afca38c2 | ||
|
|
dd337f3526 | ||
|
|
c4d6e04e4b | ||
|
|
4c63609749 | ||
|
|
4702aa496a | ||
|
|
1357ef295e | ||
|
|
9aeb9849fb | ||
|
|
efbeba3bb9 | ||
|
|
f17bb1a852 | ||
|
|
ddc6138dbf | ||
|
|
5c514b36dd | ||
|
|
8067bc3863 | ||
|
|
efd2357d5b | ||
|
|
c69974f460 | ||
|
|
c1259aacab | ||
|
|
27160be639 | ||
|
|
d1973a040f | ||
|
|
5adcaa3487 | ||
|
|
b832c42585 | ||
|
|
0858017085 | ||
|
|
bb1f51e5f0 | ||
|
|
19cba46b38 | ||
|
|
2321ed64bc | ||
|
|
1f098633e2 | ||
|
|
2139e4455a | ||
|
|
3dcba3bf15 | ||
|
|
31bb1ada0a | ||
|
|
9d1101c727 | ||
|
|
8c41e6c720 | ||
|
|
816cb44cc2 | ||
|
|
352d7071f7 | ||
|
|
44c300bfef | ||
|
|
be6c6ee93c | ||
|
|
0cf83c2047 | ||
|
|
ec129f5778 | ||
|
|
4c1d2f8c86 | ||
|
|
90fb83b95e | ||
|
|
59cc2ac736 | ||
|
|
ee4ca5bd2c | ||
|
|
6b437701a8 | ||
|
|
66234a73ba | ||
|
|
04e7a81b1e | ||
|
|
fa30ba29c9 | ||
|
|
a1c3d57013 | ||
|
|
27f32621ab | ||
|
|
93db3d42b7 | ||
|
|
8a07d241ff | ||
|
|
8f6b49877f | ||
|
|
d290445048 | ||
|
|
1a7cbfd6ac | ||
|
|
47e182524f | ||
|
|
bea721349a | ||
|
|
0646056751 | ||
|
|
678c66f50c | ||
|
|
607543e4e7 | ||
|
|
563174383a | ||
|
|
d3ac01445e | ||
|
|
58485fc1f1 | ||
|
|
07d6b83154 | ||
|
|
8182396454 | ||
|
|
9324580c87 | ||
|
|
d8114012bb | ||
|
|
c9171b8682 | ||
|
|
82f267f0c5 | ||
|
|
f8e8653480 | ||
|
|
192c7827c9 | ||
|
|
13f10f6a98 | ||
|
|
074330707c | ||
|
|
8efab3d4be | ||
|
|
8b38367e2b | ||
|
|
b8e5ffaf31 | ||
|
|
4aad872d71 | ||
|
|
5884f7343a | ||
|
|
c49891dcce | ||
|
|
42b58cddbd | ||
|
|
f5e5419cb6 | ||
|
|
6a1d143f9f | ||
|
|
24484d5e51 | ||
|
|
46db263088 | ||
|
|
6f3b01f3dc | ||
|
|
b321501476 | ||
|
|
b447e1f766 | ||
|
|
898f5ac547 | ||
|
|
078ba2dec0 | ||
|
|
fa60ec294e | ||
|
|
7273b501f1 | ||
|
|
0acf9662a4 | ||
|
|
a3b3e044f5 | ||
|
|
6c7a6a7811 | ||
|
|
ddbc1d260c | ||
|
|
af7944ef42 | ||
|
|
4c0bfd8905 | ||
|
|
c7ac9502bd | ||
|
|
1c7f2ad5cc | ||
|
|
1a856599cb | ||
|
|
a31f8a9446 | ||
|
|
eb4e72c754 | ||
|
|
67f4e9c817 | ||
|
|
c0fc220298 | ||
|
|
0e3b08d493 | ||
|
|
5d02760d23 | ||
|
|
cf8738f9f6 | ||
|
|
c868e4bbdd | ||
|
|
3285e0ddc8 | ||
|
|
b6c6dc03a9 | ||
|
|
62c0dbb876 | ||
|
|
704d53e589 | ||
|
|
4643c71e75 | ||
|
|
dede4f379f | ||
|
|
1a4d841a26 | ||
|
|
ced15e27c1 | ||
|
|
14e8c098c8 | ||
|
|
98ceee5d28 | ||
|
|
aaeb2b6938 | ||
|
|
6e3a5ca7ca | ||
|
|
291b033dbf | ||
|
|
8bded032df | ||
|
|
a1bb755123 | ||
|
|
abc7848073 | ||
|
|
afd43687f2 | ||
|
|
2ad27044a6 | ||
|
|
b0b62c6ac3 | ||
|
|
00800785d4 | ||
|
|
5f51fbc93d | ||
|
|
884fb5736c | ||
|
|
9fd0b53b02 | ||
|
|
48b9475bb6 | ||
|
|
4e5120ff71 | ||
|
|
aafe50c30e | ||
|
|
b1ca9a4fc0 | ||
|
|
0f81a994fe | ||
|
|
1f5ca28596 | ||
|
|
0145c4fb5f | ||
|
|
d03755859f | ||
|
|
1dcde66839 | ||
|
|
79b8ef3a53 | ||
|
|
b8d8acd3fd | ||
|
|
2e18f077c8 | ||
|
|
fb01814384 | ||
|
|
7dcb54fb58 | ||
|
|
69877de0d0 | ||
|
|
2248d2e012 | ||
|
|
de319b9ae8 | ||
|
|
6b2a703b35 | ||
|
|
a94f02e463 | ||
|
|
f8702e2038 | ||
|
|
23e597eb25 | ||
|
|
04f5768c76 | ||
|
|
49a2f2c926 | ||
|
|
ad83f83f2c | ||
|
|
9da909dd57 | ||
|
|
d85d34f3dd | ||
|
|
122b535393 | ||
|
|
5416badde1 | ||
|
|
9f1bdc7c83 | ||
|
|
ac8e7e16c2 | ||
|
|
d335318496 | ||
|
|
5eaafc5936 | ||
|
|
7ba7a61bb8 | ||
|
|
dfb2734368 | ||
|
|
6a450f45e1 | ||
|
|
f7e81f84db | ||
|
|
79932ee2f2 | ||
|
|
8660f00917 | ||
|
|
72e173d925 | ||
|
|
79445e993b | ||
|
|
227f3bae18 | ||
|
|
88911200c2 | ||
|
|
92c2aca480 | ||
|
|
8d7cf7960a | ||
|
|
d1f6f132d6 | ||
|
|
8bdeca9f0a | ||
|
|
67f98145bb | ||
|
|
612cf70560 | ||
|
|
a740f32e4d | ||
|
|
cdbc1a07be | ||
|
|
49fa7c01d4 | ||
|
|
3ce6229d34 | ||
|
|
24321f6feb | ||
|
|
b5db9db453 | ||
|
|
cb8b896230 | ||
|
|
0938ab654a | ||
|
|
163cc5b873 | ||
|
|
d67cefdf3a | ||
|
|
8e2cc7e3db | ||
|
|
e136b4b4db | ||
|
|
7e502ac477 | ||
|
|
83ded37cbc | ||
|
|
0b43183616 | ||
|
|
ec9386acfe | ||
|
|
8bf43f5f22 | ||
|
|
007fc34a23 | ||
|
|
2c37a99332 | ||
|
|
1bc650a19c | ||
|
|
b431487435 | ||
|
|
3da9a67162 | ||
|
|
267a950435 | ||
|
|
b86cb1f7b5 | ||
|
|
19319356d7 | ||
|
|
dfa6a7c497 | ||
|
|
fb87c22359 | ||
|
|
590486fa72 | ||
|
|
593532cb5a | ||
|
|
be7ee49701 | ||
|
|
1ae3e2a7f4 | ||
|
|
6eda02f208 | ||
|
|
20ce664068 | ||
|
|
2b395d3160 | ||
|
|
2eb9a4b72e | ||
|
|
ad1f255211 | ||
|
|
95d295bc6b | ||
|
|
c0c14cb09c | ||
|
|
96f7d6323a | ||
|
|
bfef6ab075 | ||
|
|
67a5b07a83 | ||
|
|
23745cd043 | ||
|
|
0e14639633 | ||
|
|
ebe3b48e0a | ||
|
|
2876902333 | ||
|
|
88c30795d3 | ||
|
|
ec00cd3222 | ||
|
|
0c36d7606b | ||
|
|
5de537001f | ||
|
|
13d84e75ad | ||
|
|
a50f6d7a2f | ||
|
|
e854d16646 | ||
|
|
9adb12846c | ||
|
|
f188cfd384 | ||
|
|
9a23778d50 | ||
|
|
eecb5770a5 | ||
|
|
b87a50726c | ||
|
|
d7ee71a811 | ||
|
|
b366407038 | ||
|
|
009cd9f840 | ||
|
|
0e964cb84c | ||
|
|
568f854f29 | ||
|
|
aa618e35e4 | ||
|
|
2470f21b4c | ||
|
|
ad8cc3c1e0 | ||
|
|
47fd7d8626 | ||
|
|
4a21ad566a | ||
|
|
da2a291208 | ||
|
|
62dfc15bd5 | ||
|
|
4969c2cf34 | ||
|
|
bcf5421541 | ||
|
|
1da5be6ffb | ||
|
|
273ba5fb00 | ||
|
|
36e5fb8bdc | ||
|
|
ff6da7ed79 | ||
|
|
962f1eecc0 | ||
|
|
5602ae6521 | ||
|
|
9feac717c8 | ||
|
|
f8824fa4b0 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
/build
|
/build/
|
||||||
/examples/*.html.png
|
/examples/*.html.png
|
||||||
/examples/example-list.js
|
/examples/example-list.js
|
||||||
/examples/example-list.xml
|
/examples/example-list.xml
|
||||||
/node_modules/
|
/node_modules/
|
||||||
|
/dist/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
"-W030": true,
|
"-W030": true,
|
||||||
"-W083": true
|
"-W083": true,
|
||||||
|
"-W069": true
|
||||||
}
|
}
|
||||||
|
|||||||
5
.npmignore
Normal file
5
.npmignore
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
*.pyc
|
||||||
|
/build/
|
||||||
|
/examples/*.html.png
|
||||||
|
/examples/example-list.js
|
||||||
|
/examples/example-list.xml
|
||||||
58
AUTHORS.md
58
AUTHORS.md
@@ -1,58 +0,0 @@
|
|||||||
OpenLayers contributors:
|
|
||||||
|
|
||||||
* Antoine Abt
|
|
||||||
* Mike Adair
|
|
||||||
* Jeff Adams
|
|
||||||
* Seb Benthall
|
|
||||||
* Bruno Binet
|
|
||||||
* Stéphane Brunner
|
|
||||||
* Howard Butler
|
|
||||||
* Bertil Chaupis
|
|
||||||
* John Cole
|
|
||||||
* Tim Coulter
|
|
||||||
* Robert Coup
|
|
||||||
* Jeff Dege
|
|
||||||
* Roald de Wit
|
|
||||||
* Schuyler Erle
|
|
||||||
* Christian López Espínola
|
|
||||||
* John Frank
|
|
||||||
* Sean Gilles
|
|
||||||
* Pierre Giraud
|
|
||||||
* Ivan Grcic
|
|
||||||
* Andreas Hocevar
|
|
||||||
* Marc Jansen
|
|
||||||
* Ian Johnson
|
|
||||||
* Frédéric Junod
|
|
||||||
* Eric Lemoine
|
|
||||||
* Philip Lindsay
|
|
||||||
* Martijn van Oosterhout
|
|
||||||
* David Overstrom
|
|
||||||
* Tom Payne
|
|
||||||
* Corey Puffault
|
|
||||||
* Peter William Robins
|
|
||||||
* Gregers Rygg
|
|
||||||
* Tim Schaub
|
|
||||||
* Christopher Schmidt
|
|
||||||
* Tobias Schwinger
|
|
||||||
* Cameron Shorter
|
|
||||||
* Pedro Simonetti
|
|
||||||
* Paul Spencer
|
|
||||||
* Paul Smith
|
|
||||||
* Glen Stampoultzis
|
|
||||||
* James Stembridge
|
|
||||||
* Erik Uzureau
|
|
||||||
* Bart van den Eijnden
|
|
||||||
* Ivan Willig
|
|
||||||
* Thomas Wood
|
|
||||||
* Bill Woodall
|
|
||||||
* Steve Woodbridge
|
|
||||||
* David Zwarg
|
|
||||||
|
|
||||||
Some portions of OpenLayers are used under the Apache 2.0 license, available
|
|
||||||
in doc/licenses/APACHE-2.0.txt.
|
|
||||||
|
|
||||||
Some portions of OpenLayers are used under the MIT license, availabie in
|
|
||||||
doc/licenses/MIT-LICENSE.txt.
|
|
||||||
|
|
||||||
Some portions of OpenLayers are Copyright 2001 Robert Penner, and are used
|
|
||||||
under the BSD license, available in doc/licenses/BSD-LICENSE.txt
|
|
||||||
@@ -2,6 +2,18 @@
|
|||||||
|
|
||||||
Thanks for your interest in contributing to OpenLayers 3.
|
Thanks for your interest in contributing to OpenLayers 3.
|
||||||
|
|
||||||
|
## Asking Questions
|
||||||
|
|
||||||
|
Please ask questions about using the library on [stackoverflow using the tag 'openlayers-3'](http://stackoverflow.com/questions/tagged/openlayers-3).
|
||||||
|
|
||||||
|
When you want to get involved and discuss new features or changes, please use [the mailing list](https://groups.google.com/forum/#!forum/ol3-dev).
|
||||||
|
|
||||||
|
|
||||||
|
## Submitting Bug Reports
|
||||||
|
|
||||||
|
Please use the [GitHub issue tracker](https://github.com/openlayers/ol3/issues). Before creating a new issue, do a quick search to see if the problem has been reported already.
|
||||||
|
|
||||||
|
|
||||||
## Contributing Code
|
## Contributing Code
|
||||||
|
|
||||||
Our preferred means of receiving contributions is through [pull requests](https://help.github.com/articles/using-pull-requests). Make sure
|
Our preferred means of receiving contributions is through [pull requests](https://help.github.com/articles/using-pull-requests). Make sure
|
||||||
@@ -42,7 +54,7 @@ as described below.
|
|||||||
The minimum requirements are:
|
The minimum requirements are:
|
||||||
|
|
||||||
* Git
|
* Git
|
||||||
* [Node.js](http://nodejs.org/)
|
* [Node.js](http://nodejs.org/) (0.10.x or higher)
|
||||||
* Python 2.6 or 2.7 with a couple of extra modules (see below)
|
* Python 2.6 or 2.7 with a couple of extra modules (see below)
|
||||||
* Java 7 (JRE and JDK)
|
* Java 7 (JRE and JDK)
|
||||||
|
|
||||||
@@ -132,7 +144,7 @@ To run the tests on the console (headless testing with PhantomJS) use the `test`
|
|||||||
|
|
||||||
$ ./build.py test
|
$ ./build.py test
|
||||||
|
|
||||||
See also the test-specific [README](../blob/master/test/README.md).
|
See also the test-specific [README](../master/test/README.md).
|
||||||
|
|
||||||
## Running the integration tests
|
## Running the integration tests
|
||||||
|
|
||||||
@@ -239,6 +251,14 @@ style of the existing OpenLayers 3 code, which includes:
|
|||||||
|
|
||||||
* Do not use assignments inside expressions.
|
* Do not use assignments inside expressions.
|
||||||
|
|
||||||
|
* Avoid the use of `goog.array.clone` with arrays (use slice instead).
|
||||||
|
|
||||||
|
* Use `array.length = 0` instead of `goog.array.clear`.
|
||||||
|
|
||||||
|
* Use bracket notation instead of `goog.object.set` and `goog.object.get` (with
|
||||||
|
two arguments).
|
||||||
|
|
||||||
|
* Use uppercase for `@const` variables.
|
||||||
|
|
||||||
### Pass the integration tests run automatically by the Travis CI system
|
### Pass the integration tests run automatically by the Travis CI system
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
Copyright 2005-2014 OpenLayers Contributors. All rights reserved. See
|
Copyright 2005-2014 OpenLayers Contributors. All rights reserved.
|
||||||
AUTHORS.md for full list.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
are permitted provided that the following conditions are met:
|
are permitted provided that the following conditions are met:
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# OpenLayers 3
|
# OpenLayers 3
|
||||||
|
|
||||||
[](http://travis-ci.org/#!/openlayers/ol3)
|
[](http://travis-ci.org/#!/openlayers/ol3)
|
||||||
|
|
||||||
Welcome to [OpenLayers 3](http://openlayers.org/)!
|
Welcome to [OpenLayers 3](http://openlayers.org/)!
|
||||||
|
|
||||||
|
## Examples
|
||||||
Check out the [hosted examples](http://openlayers.org/en/master/examples/), the [workshop](http://openlayers.org/ol3-workshop/) or poke around the evolving [API docs](http://openlayers.org/en/master/apidoc/).
|
Check out the [hosted examples](http://openlayers.org/en/master/examples/), the [workshop](http://openlayers.org/ol3-workshop/) or poke around the evolving [API docs](http://openlayers.org/en/master/apidoc/).
|
||||||
|
|
||||||
Please don't ask questions in the github issue tracker but use [the mailing list](https://groups.google.com/forum/#!forum/ol3-dev) instead.
|
## Contributing
|
||||||
|
|
||||||
Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in getting involved.
|
Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in getting involved.
|
||||||
|
|||||||
@@ -1095,7 +1095,7 @@ class BeautifulStoneSoup(Tag, SGMLParser):
|
|||||||
p = self.tagStack[i]
|
p = self.tagStack[i]
|
||||||
if (not p or p.name == name) and not isNestable:
|
if (not p or p.name == name) and not isNestable:
|
||||||
#Non-nestable tags get popped to the top or to their
|
#Non-nestable tags get popped to the top or to their
|
||||||
#last occurance.
|
#last occurrence.
|
||||||
popTo = name
|
popTo = name
|
||||||
break
|
break
|
||||||
if (nestingResetTriggers != None
|
if (nestingResetTriggers != None
|
||||||
@@ -1242,14 +1242,14 @@ class BeautifulSoup(BeautifulStoneSoup):
|
|||||||
|
|
||||||
* Tag nesting rules:
|
* Tag nesting rules:
|
||||||
|
|
||||||
Most tags can't be nested at all. For instance, the occurance of
|
Most tags can't be nested at all. For instance, the occurrence of
|
||||||
a <p> tag should implicitly close the previous <p> tag.
|
a <p> tag should implicitly close the previous <p> tag.
|
||||||
|
|
||||||
<p>Para1<p>Para2
|
<p>Para1<p>Para2
|
||||||
should be transformed into:
|
should be transformed into:
|
||||||
<p>Para1</p><p>Para2
|
<p>Para1</p><p>Para2
|
||||||
|
|
||||||
Some tags can be nested arbitrarily. For instance, the occurance
|
Some tags can be nested arbitrarily. For instance, the occurrence
|
||||||
of a <blockquote> tag should _not_ implicitly close the previous
|
of a <blockquote> tag should _not_ implicitly close the previous
|
||||||
<blockquote> tag.
|
<blockquote> tag.
|
||||||
|
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
|
|
||||||
console.log('Capturing ' + lenHtmlFiles + ' example screenshots.');
|
console.log('Capturing ' + lenHtmlFiles + ' example screenshots.');
|
||||||
|
|
||||||
// The main interval function that is executed regularily and renders a
|
// The main interval function that is executed regularly and renders a
|
||||||
// page to a file
|
// page to a file
|
||||||
var interval = setInterval(function() {
|
var interval = setInterval(function() {
|
||||||
if (!loadInProgress && pageindex < lenHtmlFiles) {
|
if (!loadInProgress && pageindex < lenHtmlFiles) {
|
||||||
|
|||||||
152
build.py
152
build.py
@@ -1,16 +1,58 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
|
import glob
|
||||||
import gzip
|
import gzip
|
||||||
import json
|
import json
|
||||||
|
import multiprocessing
|
||||||
import os
|
import os
|
||||||
import glob
|
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from pake import Target
|
from pake import Target
|
||||||
from pake import ifind, main, output, rule, target, variables, virtual, which
|
from pake import ifind, main, output, rule, target, variables, virtual, which
|
||||||
|
from Queue import Queue
|
||||||
|
from threading import Thread
|
||||||
|
|
||||||
|
|
||||||
|
class ThreadPool:
|
||||||
|
"""A basic pool of worker threads"""
|
||||||
|
class Worker(Thread):
|
||||||
|
def __init__(self, tasks):
|
||||||
|
Thread.__init__(self)
|
||||||
|
self.tasks = tasks
|
||||||
|
self.daemon = True # threads will be killed on exit
|
||||||
|
self.start()
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
while True:
|
||||||
|
# block until a task is ready to be done
|
||||||
|
function, args, kargs = self.tasks.get()
|
||||||
|
try:
|
||||||
|
function(*args, **kargs)
|
||||||
|
except:
|
||||||
|
print("ERROR")
|
||||||
|
for count, thing in enumerate(args):
|
||||||
|
print '{0}. {1}'.format(count, thing)
|
||||||
|
print(sys.exc_info()[0])
|
||||||
|
print("ERROR")
|
||||||
|
self.tasks.errors = True
|
||||||
|
self.tasks.task_done()
|
||||||
|
|
||||||
|
def __init__(self, num_threads = multiprocessing.cpu_count() + 1):
|
||||||
|
self.tasks = Queue(num_threads)
|
||||||
|
self.tasks.errors = False
|
||||||
|
# create num_threads Workers, by default the number of CPUs + 1
|
||||||
|
for _ in range(num_threads): self.Worker(self.tasks)
|
||||||
|
|
||||||
|
def add_task(self, function, *args, **kargs):
|
||||||
|
self.tasks.put((function, args, kargs))
|
||||||
|
|
||||||
|
def wait_completion(self):
|
||||||
|
# wait for the queue to be empty
|
||||||
|
self.tasks.join()
|
||||||
|
return self.tasks.errors
|
||||||
|
|
||||||
|
|
||||||
if sys.platform == 'win32':
|
if sys.platform == 'win32':
|
||||||
@@ -75,9 +117,7 @@ EXAMPLES_SRC = [path
|
|||||||
for path in ifind('examples')
|
for path in ifind('examples')
|
||||||
if path.endswith('.js')
|
if path.endswith('.js')
|
||||||
if not path.endswith('.combined.js')
|
if not path.endswith('.combined.js')
|
||||||
if not path.startswith('examples/bootstrap')
|
|
||||||
if path != 'examples/Jugl.js'
|
if path != 'examples/Jugl.js'
|
||||||
if path != 'examples/jquery.min.js'
|
|
||||||
if path != 'examples/example-list.js']
|
if path != 'examples/example-list.js']
|
||||||
|
|
||||||
EXAMPLES_JSON = ['build/' + example.replace('.html', '.json')
|
EXAMPLES_JSON = ['build/' + example.replace('.html', '.json')
|
||||||
@@ -110,6 +150,7 @@ SRC = [path
|
|||||||
if path.endswith('.js')
|
if path.endswith('.js')
|
||||||
if path not in SHADER_SRC]
|
if path not in SHADER_SRC]
|
||||||
|
|
||||||
|
NPM_INSTALL = 'build/npm-install-timestamp'
|
||||||
|
|
||||||
def report_sizes(t):
|
def report_sizes(t):
|
||||||
stringio = StringIO()
|
stringio = StringIO()
|
||||||
@@ -131,7 +172,8 @@ virtual('ci', 'lint', 'build', 'test',
|
|||||||
'build/examples/all.combined.js', 'check-examples', 'apidoc')
|
'build/examples/all.combined.js', 'check-examples', 'apidoc')
|
||||||
|
|
||||||
|
|
||||||
virtual('build', 'build/ol.css', 'build/ol.js', 'build/ol-debug.js')
|
virtual('build', 'build/ol.css', 'build/ol.js', 'build/ol-debug.js',
|
||||||
|
'build/ol.js.map')
|
||||||
|
|
||||||
|
|
||||||
virtual('check', 'lint', 'build/ol.js', 'test')
|
virtual('check', 'lint', 'build/ol.js', 'test')
|
||||||
@@ -140,18 +182,34 @@ virtual('check', 'lint', 'build/ol.js', 'test')
|
|||||||
virtual('todo', 'fixme')
|
virtual('todo', 'fixme')
|
||||||
|
|
||||||
|
|
||||||
@target('build/ol.css', 'css/ol.css')
|
@target(NPM_INSTALL, 'package.json')
|
||||||
|
def npm_install(t):
|
||||||
|
t.run('npm', 'install')
|
||||||
|
t.touch()
|
||||||
|
|
||||||
|
|
||||||
|
@target('build/ol.css', 'css/ol.css', NPM_INSTALL)
|
||||||
def build_ol_css(t):
|
def build_ol_css(t):
|
||||||
t.output('%(CLEANCSS)s', 'css/ol.css')
|
t.output('%(CLEANCSS)s', 'css/ol.css')
|
||||||
|
|
||||||
|
|
||||||
@target('build/ol.js', SRC, SHADER_SRC, 'config/ol.json')
|
def _build_js(t):
|
||||||
def build_ol_new_js(t):
|
|
||||||
t.run('node', 'tasks/build.js', 'config/ol.json', 'build/ol.js')
|
t.run('node', 'tasks/build.js', 'config/ol.json', 'build/ol.js')
|
||||||
|
|
||||||
|
|
||||||
|
@target('build/ol.js', SRC, SHADER_SRC, 'config/ol.json', NPM_INSTALL)
|
||||||
|
def build_ol_js(t):
|
||||||
|
_build_js(t)
|
||||||
report_sizes(t)
|
report_sizes(t)
|
||||||
|
|
||||||
|
|
||||||
@target('build/ol-debug.js', SRC, SHADER_SRC, 'config/ol-debug.json')
|
@target('build/ol.js.map', SRC, SHADER_SRC, 'config/ol.json', NPM_INSTALL)
|
||||||
|
def build_ol_js_map(t):
|
||||||
|
_build_js(t)
|
||||||
|
|
||||||
|
|
||||||
|
@target('build/ol-debug.js', SRC, SHADER_SRC, 'config/ol-debug.json',
|
||||||
|
NPM_INSTALL)
|
||||||
def build_ol_debug_js(t):
|
def build_ol_debug_js(t):
|
||||||
t.run('node', 'tasks/build.js', 'config/ol-debug.json', 'build/ol-debug.js')
|
t.run('node', 'tasks/build.js', 'config/ol-debug.json', 'build/ol-debug.js')
|
||||||
report_sizes(t)
|
report_sizes(t)
|
||||||
@@ -200,7 +258,7 @@ def examples_examples_list_js(t):
|
|||||||
|
|
||||||
|
|
||||||
@target('build/examples/all.combined.js', 'build/examples/all.js',
|
@target('build/examples/all.combined.js', 'build/examples/all.js',
|
||||||
SRC, SHADER_SRC, 'config/examples-all.json')
|
SRC, SHADER_SRC, 'config/examples-all.json', NPM_INSTALL)
|
||||||
def build_examples_all_combined_js(t):
|
def build_examples_all_combined_js(t):
|
||||||
t.run('node', 'tasks/build.js', 'config/examples-all.json',
|
t.run('node', 'tasks/build.js', 'config/examples-all.json',
|
||||||
'build/examples/all.combined.js')
|
'build/examples/all.combined.js')
|
||||||
@@ -215,30 +273,47 @@ def build_examples_all_js(t):
|
|||||||
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
|
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
|
||||||
def examples_star_json(name, match):
|
def examples_star_json(name, match):
|
||||||
def action(t):
|
def action(t):
|
||||||
# It would make more sense to use olx.js as an input file here. We use
|
|
||||||
# it as an externs file instead to prevent "Cannot read property '*' of
|
# When compiling the ol3 code and the application code together it is
|
||||||
# undefined" error when running examples in "raw" or "whitespace" mode.
|
# better to use oli.js and olx.js files as "input" files rather than
|
||||||
# Note that we use the proper way in config/examples-all.json, which
|
# "externs" files. Indeed, externs prevent renaming, which is neither
|
||||||
# is only used to check the examples code using the compiler.
|
# necessary nor desirable in this case.
|
||||||
|
#
|
||||||
|
# oli.js and olx.js do not provide or require namespaces (using
|
||||||
|
# "goog.provide" or "goog.require"). For that reason, if they are
|
||||||
|
# specified as input files through the "src" property, then
|
||||||
|
# closure-util will exclude them when creating the dependencies graph.
|
||||||
|
# So the compile "js" property is used instead. With that property the
|
||||||
|
# oli.js and olx.js files are passed directly to the compiler. And by
|
||||||
|
# setting "manage_closure_dependencies" to "true" the compiler will not
|
||||||
|
# exclude them from its dependencies graph.
|
||||||
|
|
||||||
content = json.dumps({
|
content = json.dumps({
|
||||||
"exports": [],
|
"exports": [],
|
||||||
"src": ["src/**/*.js", "examples/%(id)s.js" % match.groupdict()],
|
"src": [
|
||||||
|
"src/**/*.js",
|
||||||
|
"build/ol.ext/*.js",
|
||||||
|
"examples/%(id)s.js" % match.groupdict()],
|
||||||
"compile": {
|
"compile": {
|
||||||
|
"js": [
|
||||||
|
"externs/olx.js",
|
||||||
|
"externs/oli.js",
|
||||||
|
],
|
||||||
"externs": [
|
"externs": [
|
||||||
"externs/bingmaps.js",
|
"externs/bingmaps.js",
|
||||||
"externs/bootstrap.js",
|
"externs/bootstrap.js",
|
||||||
"externs/closure-compiler.js",
|
"externs/closure-compiler.js",
|
||||||
"externs/example.js",
|
"externs/example.js",
|
||||||
|
"externs/fastclick.js",
|
||||||
"externs/geojson.js",
|
"externs/geojson.js",
|
||||||
"externs/jquery-1.7.js",
|
"externs/jquery-1.9.js",
|
||||||
"externs/oli.js",
|
|
||||||
"externs/olx.js",
|
|
||||||
"externs/proj4js.js",
|
"externs/proj4js.js",
|
||||||
"externs/tilejson.js",
|
"externs/tilejson.js",
|
||||||
"externs/topojson.js",
|
"externs/topojson.js",
|
||||||
"externs/vbarray.js"
|
"externs/vbarray.js"
|
||||||
],
|
],
|
||||||
"define": [
|
"define": [
|
||||||
|
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
|
||||||
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
||||||
"goog.json.USE_NATIVE_JSON=true",
|
"goog.json.USE_NATIVE_JSON=true",
|
||||||
"goog.DEBUG=false"
|
"goog.DEBUG=false"
|
||||||
@@ -274,23 +349,27 @@ def examples_star_json(name, match):
|
|||||||
"tweakValidation",
|
"tweakValidation",
|
||||||
"undefinedNames",
|
"undefinedNames",
|
||||||
"undefinedVars",
|
"undefinedVars",
|
||||||
"unknownDefines",
|
|
||||||
"uselessCode",
|
"uselessCode",
|
||||||
"violatedModuleDep",
|
"violatedModuleDep",
|
||||||
"visibility"
|
"visibility"
|
||||||
],
|
],
|
||||||
|
"jscomp_off": [
|
||||||
|
"unknownDefines"
|
||||||
|
],
|
||||||
"extra_annotation_name": [
|
"extra_annotation_name": [
|
||||||
"api", "observable"
|
"api", "observable"
|
||||||
],
|
],
|
||||||
"compilation_level": "ADVANCED",
|
"compilation_level": "ADVANCED",
|
||||||
"output_wrapper": "// OpenLayers 3. See http://ol3.js.org/\n(function(){%output%})();",
|
"warning_level": "VERBOSE",
|
||||||
|
"output_wrapper": "(function(){%output%})();",
|
||||||
"use_types_for_optimization": True,
|
"use_types_for_optimization": True,
|
||||||
"manage_closure_dependencies": True
|
"manage_closure_dependencies": True
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
with open(t.name, 'wb') as f:
|
with open(t.name, 'wb') as f:
|
||||||
f.write(content)
|
f.write(content)
|
||||||
return Target(name, action=action, dependencies=[__file__])
|
return Target(name, action=action,
|
||||||
|
dependencies=[__file__, NPM_INSTALL])
|
||||||
|
|
||||||
|
|
||||||
@rule(r'\Abuild/examples/(?P<id>.*).combined.js\Z')
|
@rule(r'\Abuild/examples/(?P<id>.*).combined.js\Z')
|
||||||
@@ -301,11 +380,12 @@ def examples_star_combined_js(name, match):
|
|||||||
report_sizes(t)
|
report_sizes(t)
|
||||||
dependencies = [SRC, SHADER_SRC,
|
dependencies = [SRC, SHADER_SRC,
|
||||||
'examples/%(id)s.js' % match.groupdict(),
|
'examples/%(id)s.js' % match.groupdict(),
|
||||||
'build/examples/%(id)s.json' % match.groupdict()]
|
'build/examples/%(id)s.json' % match.groupdict(),
|
||||||
|
NPM_INSTALL]
|
||||||
return Target(name, action=action, dependencies=dependencies)
|
return Target(name, action=action, dependencies=dependencies)
|
||||||
|
|
||||||
|
|
||||||
@target('serve', 'examples')
|
@target('serve', 'examples', NPM_INSTALL)
|
||||||
def serve(t):
|
def serve(t):
|
||||||
t.run('node', 'tasks/serve.js')
|
t.run('node', 'tasks/serve.js')
|
||||||
|
|
||||||
@@ -323,11 +403,10 @@ def build_lint_src_timestamp(t):
|
|||||||
t.newer(t.dependencies))
|
t.newer(t.dependencies))
|
||||||
t.touch()
|
t.touch()
|
||||||
|
|
||||||
|
|
||||||
virtual('jshint', 'build/jshint-timestamp')
|
virtual('jshint', 'build/jshint-timestamp')
|
||||||
|
|
||||||
@target('build/jshint-timestamp', SRC, EXAMPLES_SRC, SPEC, TASKS,
|
@target('build/jshint-timestamp', SRC, EXAMPLES_SRC, SPEC, TASKS,
|
||||||
precious=True)
|
NPM_INSTALL, precious=True)
|
||||||
def build_jshint_timestamp(t):
|
def build_jshint_timestamp(t):
|
||||||
t.run(variables.JSHINT, '--verbose', t.newer(t.dependencies))
|
t.run(variables.JSHINT, '--verbose', t.newer(t.dependencies))
|
||||||
t.touch()
|
t.touch()
|
||||||
@@ -533,7 +612,8 @@ virtual('apidoc', 'build/jsdoc-%(BRANCH)s-timestamp' % vars(variables))
|
|||||||
|
|
||||||
|
|
||||||
@target('build/jsdoc-%(BRANCH)s-timestamp' % vars(variables), 'host-resources',
|
@target('build/jsdoc-%(BRANCH)s-timestamp' % vars(variables), 'host-resources',
|
||||||
SRC, SHADER_SRC, ifind('config/jsdoc/api/template'))
|
SRC, SHADER_SRC, ifind('config/jsdoc/api/template'),
|
||||||
|
NPM_INSTALL)
|
||||||
def jsdoc_BRANCH_timestamp(t):
|
def jsdoc_BRANCH_timestamp(t):
|
||||||
t.run('%(JSDOC)s', 'config/jsdoc/api/index.md',
|
t.run('%(JSDOC)s', 'config/jsdoc/api/index.md',
|
||||||
'-c', 'config/jsdoc/api/conf.json',
|
'-c', 'config/jsdoc/api/conf.json',
|
||||||
@@ -601,15 +681,17 @@ def host_examples(t):
|
|||||||
t.cp('build/ol.js', 'build/ol-debug.js', build_dir)
|
t.cp('build/ol.js', 'build/ol-debug.js', build_dir)
|
||||||
t.cp('build/ol.css', css_dir)
|
t.cp('build/ol.css', css_dir)
|
||||||
t.cp('examples/index.html', 'examples/example-list.js',
|
t.cp('examples/index.html', 'examples/example-list.js',
|
||||||
'examples/example-list.xml', 'examples/Jugl.js',
|
'examples/example-list.xml', 'examples/Jugl.js', examples_dir)
|
||||||
'examples/jquery.min.js', examples_dir)
|
|
||||||
t.rm_rf('build/hosted/%(BRANCH)s/closure-library')
|
t.rm_rf('build/hosted/%(BRANCH)s/closure-library')
|
||||||
t.cp_r(closure_lib_path, 'build/hosted/%(BRANCH)s/closure-library')
|
t.cp_r(closure_lib_path, 'build/hosted/%(BRANCH)s/closure-library')
|
||||||
t.rm_rf('build/hosted/%(BRANCH)s/ol')
|
t.rm_rf('build/hosted/%(BRANCH)s/ol')
|
||||||
t.makedirs('build/hosted/%(BRANCH)s/ol')
|
t.makedirs('build/hosted/%(BRANCH)s/ol')
|
||||||
t.cp_r('src/ol', 'build/hosted/%(BRANCH)s/ol/ol')
|
t.cp_r('src/ol', 'build/hosted/%(BRANCH)s/ol/ol')
|
||||||
|
t.rm_rf('build/hosted/%(BRANCH)s/ol.ext')
|
||||||
|
t.cp_r('build/ol.ext', 'build/hosted/%(BRANCH)s/ol.ext')
|
||||||
t.run('%(PYTHON)s', closure_lib_path + '/closure/bin/build/depswriter.py',
|
t.run('%(PYTHON)s', closure_lib_path + '/closure/bin/build/depswriter.py',
|
||||||
'--root_with_prefix', 'src ../../../ol',
|
'--root_with_prefix', 'src ../../../ol',
|
||||||
|
'--root_with_prefix', 'build/ol.ext ../../../ol.ext',
|
||||||
'--root', 'build/hosted/%(BRANCH)s/closure-library/closure/goog',
|
'--root', 'build/hosted/%(BRANCH)s/closure-library/closure/goog',
|
||||||
'--root_with_prefix', 'build/hosted/%(BRANCH)s/closure-library/'
|
'--root_with_prefix', 'build/hosted/%(BRANCH)s/closure-library/'
|
||||||
'third_party ../../third_party',
|
'third_party ../../third_party',
|
||||||
@@ -621,13 +703,17 @@ def check_examples(t):
|
|||||||
examples = ['build/hosted/%(BRANCH)s/' + e
|
examples = ['build/hosted/%(BRANCH)s/' + e
|
||||||
for e in EXAMPLES
|
for e in EXAMPLES
|
||||||
if not open(e.replace('.html', '.js'), 'rU').readline().startswith('// NOCOMPILE')]
|
if not open(e.replace('.html', '.js'), 'rU').readline().startswith('// NOCOMPILE')]
|
||||||
all_examples = \
|
all_examples = [e + '?mode=advanced' for e in examples]
|
||||||
[e + '?mode=advanced' for e in examples]
|
# Run the examples checks in a pool of threads
|
||||||
|
pool = ThreadPool()
|
||||||
for example in all_examples:
|
for example in all_examples:
|
||||||
t.run('%(PHANTOMJS)s', 'bin/check-example.js', example)
|
pool.add_task(t.run, '%(PHANTOMJS)s', 'bin/check-example.js', example)
|
||||||
|
errors = pool.wait_completion()
|
||||||
|
if errors:
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
@target('test', phony=True)
|
@target('test', NPM_INSTALL, phony=True)
|
||||||
def test(t):
|
def test(t):
|
||||||
t.run('node', 'tasks/test.js')
|
t.run('node', 'tasks/test.js')
|
||||||
|
|
||||||
@@ -718,7 +804,7 @@ Other less frequently used targets are:
|
|||||||
If no target is given, the build-target will be executed.
|
If no target is given, the build-target will be executed.
|
||||||
|
|
||||||
The above list is not complete, please see the source code for not-mentioned
|
The above list is not complete, please see the source code for not-mentioned
|
||||||
and only seldomly called targets.
|
and only seldom called targets.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
12
changelog/upgrade-notes.md
Normal file
12
changelog/upgrade-notes.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
## Upgrade notes
|
||||||
|
|
||||||
|
### v3.3.0
|
||||||
|
|
||||||
|
* The `ol.events.condition.mouseMove` function was replaced by `ol.events.condition.pointerMove` (see [#3281](https://github.com/openlayers/ol3/pull/3281)). For example, if you use `ol.events.condition.mouseMove` as the condition in a `Select` interaction then you now need to use `ol.events.condition.pointerMove`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var selectInteraction = new ol.interaction.Select({
|
||||||
|
condition: ol.events.condition.pointerMove
|
||||||
|
// …
|
||||||
|
});
|
||||||
|
```
|
||||||
234
changelog/v3.1.0.md
Normal file
234
changelog/v3.1.0.md
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
# 3.1.0
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
The 3.1.0 release includes a whopping 214 merged pull requests since 3.0.0. Of note, the WebGL renderer [now supports point rendering](https://github.com/openlayers/ol3/pull/2967). You can use [UTFGrids for interaction](https://github.com/openlayers/ol3/pull/3015)! Styles can now specify [alternate geometries for rendering](https://github.com/openlayers/ol3/pull/3010). Library builds [can now be loaded](https://github.com/openlayers/ol3/pull/3039) with module loaders like Browserify or RequireJS. You can now symbolize point features with stars, squares, enneadecagons, or [any other regular(ish) polygon](https://github.com/openlayers/ol3/pull/2706). See the full list of [changes](#changes) below.
|
||||||
|
|
||||||
|
## Upgrade notes
|
||||||
|
|
||||||
|
The 3.1.0 release maintains a backwards-compatible API with the 3.0.0 release, so upgrades should be painless. Some special considerations below.
|
||||||
|
|
||||||
|
* If you are using a `ol.source.ImageStatic`, you no longer need to provide an `imageSize` option if you don't want any special scaling on your image (see [#2796](https://github.com/openlayers/ol3/pull/2796)).
|
||||||
|
|
||||||
|
* Instead of calling `obj.unByKey(key)` you can now call `ol.Observable.unByKey(key)` (see [#2794](https://github.com/openlayers/ol3/pull/2794)).
|
||||||
|
|
||||||
|
* If you were using `format.writeFeatures(features)`, note that this method returns a string for all feature formats. We considered the previous behavior a bug (see [#3003](https://github.com/openlayers/ol3/pull/3003)).
|
||||||
|
|
||||||
|
* The `obj.dispatchChangeEvent()` method is now spelled `obj.changed()`. This method is still unstable (see [#2684](https://github.com/openlayers/ol3/pull/2684)).
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
* [#3076](https://github.com/openlayers/ol3/pull/3076) - Add script to standardize changelog creation. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3074](https://github.com/openlayers/ol3/pull/3074) - Remove misplaced function annotation. ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3075](https://github.com/openlayers/ol3/pull/3075) - Remove unneeded undefined from ol.proj.ProjectionLike definitions (r=@tschaub) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3071](https://github.com/openlayers/ol3/pull/3071) - Add task for publishing to npm. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3070](https://github.com/openlayers/ol3/pull/3070) - Define goog and assign to global when generating UMD debug builds. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3068](https://github.com/openlayers/ol3/pull/3068) - Update pre-release version. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3039](https://github.com/openlayers/ol3/pull/3039) - Support for UMD builds. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3038](https://github.com/openlayers/ol3/pull/3038) - Update attribution CSS #2803 ([@acanimal](https://github.com/acanimal))
|
||||||
|
* [#3061](https://github.com/openlayers/ol3/pull/3061) - Add a renderBuffer option to ol.layer.Vector ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3048](https://github.com/openlayers/ol3/pull/3048) - Add a drag-features example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3060](https://github.com/openlayers/ol3/pull/3060) - Update closure-library version ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3058](https://github.com/openlayers/ol3/pull/3058) - Use an API function to extend the extent ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3010](https://github.com/openlayers/ol3/pull/3010) - Allow styles to override feature geometries ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3056](https://github.com/openlayers/ol3/pull/3056) - Reuse previousExtent_ local variable ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3055](https://github.com/openlayers/ol3/pull/3055) - ol.tilecoord.createOrUpdate: add 'opt_' prefix to optional param ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3044](https://github.com/openlayers/ol3/pull/3044) - Mark Image style constructor properties `@api` ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#3052](https://github.com/openlayers/ol3/pull/3052) - Add a testcase for parsing GML feature with only boundedBy ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3051](https://github.com/openlayers/ol3/pull/3051) - Remove // NOCOMPILE from vector-wfs ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2699](https://github.com/openlayers/ol3/pull/2699) - No need for featureNS and featureType to be quoted ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3047](https://github.com/openlayers/ol3/pull/3047) - Move description above annotation to avoid JSDoc warnings. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2996](https://github.com/openlayers/ol3/pull/2996) - Add getter functions for points and angle in ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3046](https://github.com/openlayers/ol3/pull/3046) - Need exportable constructor for constructor options in olx ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3043](https://github.com/openlayers/ol3/pull/3043) - Use // NOCOMPILE for vector-wfs ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3042](https://github.com/openlayers/ol3/pull/3042) - Print example name in check-examples exception ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#3032](https://github.com/openlayers/ol3/pull/3032) - Extension points for custom controls and interactions ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3033](https://github.com/openlayers/ol3/pull/3033) - Allow custom mousemove conditions for Select interaction ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3040](https://github.com/openlayers/ol3/pull/3040) - Transform the coordinates in place ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3036](https://github.com/openlayers/ol3/pull/3036) - Respect geometry stride in modify interaction ([@tonio](https://github.com/tonio))
|
||||||
|
* [#3020](https://github.com/openlayers/ol3/pull/3020) - Correct error message from generate-info.js. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3037](https://github.com/openlayers/ol3/pull/3037) - Implement rotation for ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3015](https://github.com/openlayers/ol3/pull/3015) - UTFGrid Support ([@klokantech](https://github.com/klokantech))
|
||||||
|
* [#3012](https://github.com/openlayers/ol3/pull/3012) - Failing tests in IE9 ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3029](https://github.com/openlayers/ol3/pull/3029) - Update closure compiler and library ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3031](https://github.com/openlayers/ol3/pull/3031) - Add missing maxZoom property in olx.view.FitGeometryOptions ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3028](https://github.com/openlayers/ol3/pull/3028) - ol.format.WFS cleanup ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3024](https://github.com/openlayers/ol3/pull/3024) - Add missing gmlFormat to olx.format.WFSOptions ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3023](https://github.com/openlayers/ol3/pull/3023) - Change loader function return type ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3021](https://github.com/openlayers/ol3/pull/3021) - Add missing properties in olx.control.AttributionOptions typedef ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3013](https://github.com/openlayers/ol3/pull/3013) - Improve vector source clear() performance ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#3017](https://github.com/openlayers/ol3/pull/3017) - Use writeFeatures instead of writeFeaturesNode in GPX and KML example (r=@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3014](https://github.com/openlayers/ol3/pull/3014) - Simplify hit detection code ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3006](https://github.com/openlayers/ol3/pull/3006) - gml3.js and gml2.js don't follow file naming conventions ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3003](https://github.com/openlayers/ol3/pull/3003) - The writeFeatures method should always return a string (r=@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3011](https://github.com/openlayers/ol3/pull/3011) - opt_options may not be defined, use options ([@pagameba](https://github.com/pagameba))
|
||||||
|
* [#3009](https://github.com/openlayers/ol3/pull/3009) - Fix hit detection bug ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3002](https://github.com/openlayers/ol3/pull/3002) - Passing options to RegularShape is mandatory ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2967](https://github.com/openlayers/ol3/pull/2967) - Add support for drawing points with WebGL ([@camptocamp](https://github.com/camptocamp))
|
||||||
|
* [#2701](https://github.com/openlayers/ol3/pull/2701) - Writing GeoJSON does not respect the feature's geometryName ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3000](https://github.com/openlayers/ol3/pull/3000) - Explain that return of ol.color.asArray should not be modified ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2997](https://github.com/openlayers/ol3/pull/2997) - Use new demo GeoServer location ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2976](https://github.com/openlayers/ol3/pull/2976) - Add an example to show off ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2992](https://github.com/openlayers/ol3/pull/2992) - Add support for finding features at a given coordinates for vector tiles - fixes ([@pgiraud](https://github.com/pgiraud))
|
||||||
|
* [#2987](https://github.com/openlayers/ol3/pull/2987) - Image layer renderers use source projection if given and equivalent ([@kartverket](https://github.com/kartverket))
|
||||||
|
* [#2975](https://github.com/openlayers/ol3/pull/2975) - Use offsetX and offsetY if available ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2973](https://github.com/openlayers/ol3/pull/2973) - Making GetTileCoordFor methods public avaible ([@s093294](https://github.com/s093294))
|
||||||
|
* [#2986](https://github.com/openlayers/ol3/pull/2986) - Add support for finding features at a given coordinates for vector tiles ([@pgiraud](https://github.com/pgiraud))
|
||||||
|
* [#2937](https://github.com/openlayers/ol3/pull/2937) - Clip layer rendering to limited extent. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2971](https://github.com/openlayers/ol3/pull/2971) - Two ol.source.TileVector fixes ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2988](https://github.com/openlayers/ol3/pull/2988) - Correct olx.style.RegularShapeOptions definition (r=@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2981](https://github.com/openlayers/ol3/pull/2981) - Use lineDash in ol.style.Circle's and ol.style.RegularShape's stroke (r=@fredj,@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2982](https://github.com/openlayers/ol3/pull/2982) - Allow radius1 as an alias for radius in ol.style.RegularShape ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2980](https://github.com/openlayers/ol3/pull/2980) - Export ol.source.TileVector#getFeatures in built mode ([@pgiraud](https://github.com/pgiraud))
|
||||||
|
* [#2979](https://github.com/openlayers/ol3/pull/2979) - Support OGC srs urns without an EPSG database version ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2978](https://github.com/openlayers/ol3/pull/2978) - Fix zoom levels for the MapQuest Street layer ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2889](https://github.com/openlayers/ol3/pull/2889) - Add GetFeatureInfo format ([@fgravin](https://github.com/fgravin))
|
||||||
|
* [#2965](https://github.com/openlayers/ol3/pull/2965) - Fix pan with select interaction in mousemove mode. ([@tonio](https://github.com/tonio))
|
||||||
|
* [#2960](https://github.com/openlayers/ol3/pull/2960) - LayerGroup extent should be used if extent not set on child layer ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2956](https://github.com/openlayers/ol3/pull/2956) - Revert "Remove mousewheel event name workaround" ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2959](https://github.com/openlayers/ol3/pull/2959) - Fix typo in selector ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2895](https://github.com/openlayers/ol3/pull/2895) - Move font-family customization to layout.css ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2896](https://github.com/openlayers/ol3/pull/2896) - Remove duplicated style parameter ([@kalinbas](https://github.com/kalinbas))
|
||||||
|
* [#2938](https://github.com/openlayers/ol3/pull/2938) - Additional image static docs. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2939](https://github.com/openlayers/ol3/pull/2939) - Make stability checkbox sticky. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2949](https://github.com/openlayers/ol3/pull/2949) - Add ol.ext to hosted dir ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2943](https://github.com/openlayers/ol3/pull/2943) - Mark applyTransform api stable ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2936](https://github.com/openlayers/ol3/pull/2936) - Fix unselection of selected features ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2935](https://github.com/openlayers/ol3/pull/2935) - Fix jsdoc comment ([@geosense](https://github.com/geosense))
|
||||||
|
* [#2933](https://github.com/openlayers/ol3/pull/2933) - Fix compile warning ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2931](https://github.com/openlayers/ol3/pull/2931) - Improvement to view docs ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2906](https://github.com/openlayers/ol3/pull/2906) - Assume a latitude, longitude order for Polyline format ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2927](https://github.com/openlayers/ol3/pull/2927) - Make it possible to programmatically finish drawing ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2928](https://github.com/openlayers/ol3/pull/2928) - Do not rename handleMapBrowserEvent internally ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2924](https://github.com/openlayers/ol3/pull/2924) - Readability rearangement in canvasmaprenderer.js ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2911](https://github.com/openlayers/ol3/pull/2911) - List events fired in the navigation. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2921](https://github.com/openlayers/ol3/pull/2921) - Small feature overlay optimization ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2897](https://github.com/openlayers/ol3/pull/2897) - Remove pointerup listener on controls ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2912](https://github.com/openlayers/ol3/pull/2912) - jQuery externs update ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2888](https://github.com/openlayers/ol3/pull/2888) - Element boundedBy must not be set as geometry field on GML reading ([@fgravin](https://github.com/fgravin))
|
||||||
|
* [#2903](https://github.com/openlayers/ol3/pull/2903) - Improved docs for icon options ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2900](https://github.com/openlayers/ol3/pull/2900) - Allow build.js task to add header. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2893](https://github.com/openlayers/ol3/pull/2893) - Don't pass an object to goog.dom.createDom for the class name ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2781](https://github.com/openlayers/ol3/pull/2781) - Use a standard title attribute for the control buttons ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2852](https://github.com/openlayers/ol3/pull/2852) - Add missing space between class names ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2891](https://github.com/openlayers/ol3/pull/2891) - Introduce a load function for image sources ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2885](https://github.com/openlayers/ol3/pull/2885) - Add wrapX option to TileJSON source ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2890](https://github.com/openlayers/ol3/pull/2890) - Use correct layer property names ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2887](https://github.com/openlayers/ol3/pull/2887) - Explicitly pass coordinate dimension before transforming. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2886](https://github.com/openlayers/ol3/pull/2886) - Use ternary notation ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2869](https://github.com/openlayers/ol3/pull/2869) - Export useful xml functions ([@tonio](https://github.com/tonio))
|
||||||
|
* [#2884](https://github.com/openlayers/ol3/pull/2884) - Make WKT methods throw errors instead of calling a method that throws. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2746](https://github.com/openlayers/ol3/pull/2746) - Add versioning for GML format ([@fgravin](https://github.com/fgravin))
|
||||||
|
* [#2882](https://github.com/openlayers/ol3/pull/2882) - Allow olx.source.WMTSOptions#requestEncoding to be a string ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2881](https://github.com/openlayers/ol3/pull/2881) - Add default requestEncoding in documentation ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2877](https://github.com/openlayers/ol3/pull/2877) - Remove FIXME in src/ol/structs/rbush.js ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2870](https://github.com/openlayers/ol3/pull/2870) - Use bulk-insertion for addFeatures ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#2856](https://github.com/openlayers/ol3/pull/2856) - Allow layer source to be set. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2875](https://github.com/openlayers/ol3/pull/2875) - Avoid modifying `map.logos_` with each frame. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2874](https://github.com/openlayers/ol3/pull/2874) - Avoid shrinking logos. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2872](https://github.com/openlayers/ol3/pull/2872) - Remove the beforepropertychange event from ol.Object ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2868](https://github.com/openlayers/ol3/pull/2868) - Remove doc about dispatching events. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2871](https://github.com/openlayers/ol3/pull/2871) - Make `npm install` a dependency of node based targets. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2867](https://github.com/openlayers/ol3/pull/2867) - Support for importing CommonJS style modules (like rbush). ([@openlayers](https://github.com/openlayers))
|
||||||
|
* [#2865](https://github.com/openlayers/ol3/pull/2865) - Add old value to property change events ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2866](https://github.com/openlayers/ol3/pull/2866) - Cluster source calls loadFeatures on vector source ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2864](https://github.com/openlayers/ol3/pull/2864) - Avoid mixed content in Bing Maps (r=@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2855](https://github.com/openlayers/ol3/pull/2855) - Move touchstart preventDefault to ol.renderer.dom.Map ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2690](https://github.com/openlayers/ol3/pull/2690) - Vector rendering with the DOM renderer ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2859](https://github.com/openlayers/ol3/pull/2859) - Document exportable vector source symbols. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2857](https://github.com/openlayers/ol3/pull/2857) - Update the OSM attribution. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2847](https://github.com/openlayers/ol3/pull/2847) - Constrain center in zoomify example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2838](https://github.com/openlayers/ol3/pull/2838) - ol.source.WMTS now passes tileClass option to ol.source.TileImage ([@mike-mcgann](https://github.com/mike-mcgann))
|
||||||
|
* [#2821](https://github.com/openlayers/ol3/pull/2821) - Add ol.geom.Polygon.fromExtent ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2835](https://github.com/openlayers/ol3/pull/2835) - Use correct Stamen URL for SSL. ([@j16sdiz](https://github.com/j16sdiz))
|
||||||
|
* [#2839](https://github.com/openlayers/ol3/pull/2839) - Dependency updates and new package name. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2840](https://github.com/openlayers/ol3/pull/2840) - Fewer point resolution tests. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2836](https://github.com/openlayers/ol3/pull/2836) - Give priority to feature's style instead of source's style ([@oterral](https://github.com/oterral))
|
||||||
|
* [#2834](https://github.com/openlayers/ol3/pull/2834) - Use ADVANCED instead of ADVANCED_OPTIMIZATIONS ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2833](https://github.com/openlayers/ol3/pull/2833) - Avoid too many files open with graceful-fs@3.0.3. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2829](https://github.com/openlayers/ol3/pull/2829) - Zoom slider refactor. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2757](https://github.com/openlayers/ol3/pull/2757) - Clear the canvas on layer extent changes. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2796](https://github.com/openlayers/ol3/pull/2796) - Determine image size on load. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2825](https://github.com/openlayers/ol3/pull/2825) - Change comments for examples_star_json build target ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2822](https://github.com/openlayers/ol3/pull/2822) - Remove obsolete comment ([@gingerik](https://github.com/gingerik))
|
||||||
|
* [#2769](https://github.com/openlayers/ol3/pull/2769) - OverviewMap control ([@adube](https://github.com/adube))
|
||||||
|
* [#2820](https://github.com/openlayers/ol3/pull/2820) - Add parsing of LabelStyle in KML format ([@oterral](https://github.com/oterral))
|
||||||
|
* [#2819](https://github.com/openlayers/ol3/pull/2819) - Improvements to the xyz-esri-4326-512 example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2743](https://github.com/openlayers/ol3/pull/2743) - Handle ol.interaction.Draw activation/deactivation ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2816](https://github.com/openlayers/ol3/pull/2816) - Exit on check-examples failure ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2794](https://github.com/openlayers/ol3/pull/2794) - Add ol.Observable.unByKey ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2815](https://github.com/openlayers/ol3/pull/2815) - Fix jquery.min.js path in xyz-esri-4326-512 example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2756](https://github.com/openlayers/ol3/pull/2756) - Add an example for using an Esri 512x512 tile server in EPSG:4326 (r=@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2814](https://github.com/openlayers/ol3/pull/2814) - Add missing whitespaces in CSS calc ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2811](https://github.com/openlayers/ol3/pull/2811) - Remove defaultProjection and object from typedef ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2779](https://github.com/openlayers/ol3/pull/2779) - Update jQuery to 1.9.1 ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2810](https://github.com/openlayers/ol3/pull/2810) - Remove unused properties from olx.source.TileVectorOptions ([@pagameba](https://github.com/pagameba))
|
||||||
|
* [#2808](https://github.com/openlayers/ol3/pull/2808) - Remove reprojectTo option from olx.source.OSMXMLOptions ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2809](https://github.com/openlayers/ol3/pull/2809) - Miscellaneous controls cleanups ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2805](https://github.com/openlayers/ol3/pull/2805) - Enable subclassing Interaction in public API ([@sweco-sebhar](https://github.com/sweco-sebhar))
|
||||||
|
* [#2798](https://github.com/openlayers/ol3/pull/2798) - Update closure-util to version 1.0.0 ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2785](https://github.com/openlayers/ol3/pull/2785) - Use goog.* types in externs ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2795](https://github.com/openlayers/ol3/pull/2795) - Externs ([@gingerik](https://github.com/gingerik))
|
||||||
|
* [#2792](https://github.com/openlayers/ol3/pull/2792) - Use valid mediatype for GPX export. ([@pgiraud](https://github.com/pgiraud))
|
||||||
|
* [#2784](https://github.com/openlayers/ol3/pull/2784) - Add 'tooltip'-tag to KML example. ([@marcjansen](https://github.com/marcjansen))
|
||||||
|
* [#2782](https://github.com/openlayers/ol3/pull/2782) - Hide the rotate control when the rotation is 0 ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2774](https://github.com/openlayers/ol3/pull/2774) - Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2771](https://github.com/openlayers/ol3/pull/2771) - Allow package to be published in npm registry. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2773](https://github.com/openlayers/ol3/pull/2773) - Type-related changes to ol.style.Image ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2751](https://github.com/openlayers/ol3/pull/2751) - Export constructors and options of ol.source.Source children ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2772](https://github.com/openlayers/ol3/pull/2772) - Rename updatefeature event to changefeature ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2766](https://github.com/openlayers/ol3/pull/2766) - Make interaction "active" an ol.Object property ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2765](https://github.com/openlayers/ol3/pull/2765) - Treat unknown opt types as Object in ol externs ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2759](https://github.com/openlayers/ol3/pull/2759) - Fix test failures. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2762](https://github.com/openlayers/ol3/pull/2762) - Report test failures to the console. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2768](https://github.com/openlayers/ol3/pull/2768) - Write the function name correctly in the doc. ([@xamgreen](https://github.com/xamgreen))
|
||||||
|
* [#2764](https://github.com/openlayers/ol3/pull/2764) - Remove rtree example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2763](https://github.com/openlayers/ol3/pull/2763) - Miscellaneous coding style and typo fixes ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2758](https://github.com/openlayers/ol3/pull/2758) - Correctly generate child tile ranges for XYZ tiles. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2734](https://github.com/openlayers/ol3/pull/2734) - Add maxZoom option to BingMaps ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2752](https://github.com/openlayers/ol3/pull/2752) - Call loadFeatures from ol.source.ImageVector ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2658](https://github.com/openlayers/ol3/pull/2658) - Set inherited values when parsing a GetCapabilities ([@oterral](https://github.com/oterral))
|
||||||
|
* [#2750](https://github.com/openlayers/ol3/pull/2750) - Export ol.layer.Base ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2749](https://github.com/openlayers/ol3/pull/2749) - Export ol.source.Source ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2742](https://github.com/openlayers/ol3/pull/2742) - Dispatch an 'updatefeature' from the vector source ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2747](https://github.com/openlayers/ol3/pull/2747) - Fix incorrect web address. ([@lazaruslarue](https://github.com/lazaruslarue))
|
||||||
|
* [#2745](https://github.com/openlayers/ol3/pull/2745) - DragBox Interaction: getGeometry return type can be ol.geom.Polygon (r=@fredj) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2744](https://github.com/openlayers/ol3/pull/2744) - Fix ol.Feature 'change' event documentation ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2741](https://github.com/openlayers/ol3/pull/2741) - issue with reading scientific notation coordinates in ol.format.GML (r=@fredj) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2739](https://github.com/openlayers/ol3/pull/2739) - Revert "Function circular renamed to createCircularOnSphere" ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2616](https://github.com/openlayers/ol3/pull/2616) - Target for attribution links differs between maps ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2740](https://github.com/openlayers/ol3/pull/2740) - Make interactions activable and deactivable ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2727](https://github.com/openlayers/ol3/pull/2727) - Rename ol.geom.Polygon#circular to createCircularOnSphere ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2730](https://github.com/openlayers/ol3/pull/2730) - Do not call toLowerCase when forming a change:property event ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2728](https://github.com/openlayers/ol3/pull/2728) - Mark `ol.extent.getIntersection` as stable. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#2726](https://github.com/openlayers/ol3/pull/2726) - Make ol.Feature#setStyle accept null ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2724](https://github.com/openlayers/ol3/pull/2724) - Error when compiling individual example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#1959](https://github.com/openlayers/ol3/pull/1959) - Add a feature box selection example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2722](https://github.com/openlayers/ol3/pull/2722) - Make ol.Map#setView do not accept undefined ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2696](https://github.com/openlayers/ol3/pull/2696) - Consistent circle transform. ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2717](https://github.com/openlayers/ol3/pull/2717) - Change the control visibility by using css class ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2715](https://github.com/openlayers/ol3/pull/2715) - Add an EPSG:3857 map to Tissot example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2714](https://github.com/openlayers/ol3/pull/2714) - Set the opacity directly to element.style.opacity ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2647](https://github.com/openlayers/ol3/pull/2647) - Upgrade closure library version ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2549](https://github.com/openlayers/ol3/pull/2549) - Use goog.array.ASSUME_NATIVE_FUNCTIONS define ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2711](https://github.com/openlayers/ol3/pull/2711) - Remove Google Maps example ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#2684](https://github.com/openlayers/ol3/pull/2684) - Rename ol.Observable#dispatchChangeEvent() to #changed() ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2678](https://github.com/openlayers/ol3/pull/2678) - Mutable symbolizer properties for styles ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2568](https://github.com/openlayers/ol3/pull/2568) - re-implement auto-configure code for ol.format.GML (r=@ahocevar) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#2704](https://github.com/openlayers/ol3/pull/2704) - Use pool thread for calling bin/check-example.js. ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2698](https://github.com/openlayers/ol3/pull/2698) - StaticVector is not an abstract base class ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2702](https://github.com/openlayers/ol3/pull/2702) - Add vector layer in export-map example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2687](https://github.com/openlayers/ol3/pull/2687) - Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2675](https://github.com/openlayers/ol3/pull/2675) - Remove undefined from ol.Map#getLayers return type ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2692](https://github.com/openlayers/ol3/pull/2692) - Unset z-index in overlay example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2681](https://github.com/openlayers/ol3/pull/2681) - Make tileSize a config option for ol.source.XYZ ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2534](https://github.com/openlayers/ol3/pull/2534) - Document ol.geom.Polygon#getLinearRing function ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2677](https://github.com/openlayers/ol3/pull/2677) - Add TextStyle offsets getters to API. ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2676](https://github.com/openlayers/ol3/pull/2676) - ol.FeatureOverlay: use the feature style if defined ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2656](https://github.com/openlayers/ol3/pull/2656) - Set ol.layer.Image#getSource return type to ol.source.Image ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2651](https://github.com/openlayers/ol3/pull/2651) - ol.layer.Vector.getSource return type specialisation. ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#2669](https://github.com/openlayers/ol3/pull/2669) - Revert "snapshot" ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2663](https://github.com/openlayers/ol3/pull/2663) - Set tracking property to false on geolocation error ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2662](https://github.com/openlayers/ol3/pull/2662) - Delegate transformation in ol.source.FormatVector#readFeatures to `ol.format.*` ([@gingerik](https://github.com/gingerik))
|
||||||
|
* [#2447](https://github.com/openlayers/ol3/pull/2447) - Correct documentation typo. ([@lazaruslarue](https://github.com/lazaruslarue))
|
||||||
|
* [#2660](https://github.com/openlayers/ol3/pull/2660) - New domain in the build header ([@elemoine](https://github.com/elemoine))
|
||||||
9
changelog/v3.1.1.md
Normal file
9
changelog/v3.1.1.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# 3.1.0
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
This is a patch release to fix an issue with the select interaction in the 3.1.0 release.
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
* [#3082](https://github.com/openlayers/ol3/pull/3082) - Correct arguments for forEachGeometryAtPixel. ([@tschaub](https://github.com/tschaub))
|
||||||
86
changelog/v3.2.0.md
Normal file
86
changelog/v3.2.0.md
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# 3.2.0
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
The 3.1.0 release includes 70 merged pull requests since 3.1.0. Of note, the KML format [now parses `NetworkingLink` tags](https://github.com/openlayers/ol3/pull/3171). The [measure example](http://openlayers.org/en/v3.2.0/examples/measure.html) was [reworked](https://github.com/openlayers/ol3/pull/3206) to display measurements and help messages while drawing. A WMTS GetCapabilities format was [added](https://github.com/openlayers/ol3/pull/3026). The WebGL renderer [now supports feature hit detection](https://github.com/openlayers/ol3/pull/3065) (on point features). And you can now [detect](https://github.com/openlayers/ol3/pull/3172) features/colored pixels on image and tile layers! See the full list of [changes](#changes) below.
|
||||||
|
|
||||||
|
## Upgrade notes
|
||||||
|
|
||||||
|
The 3.2.0 release maintains a backwards-compatible API with the 3.1.0 release, so upgrades should be painless. Some special considerations below.
|
||||||
|
|
||||||
|
* You should not call `view.setRotation` with `undefined`, to reset the view rotation to `0` then use `view.setRotation(0)` (see [#3176](https://github.com/openlayers/ol3/pull/3176)).
|
||||||
|
|
||||||
|
* If you use `$(map.getViewport()).on('mousemove')` to detect features when the mouse is hovered on the map, you should now rely on the `pointermove` map event type and check in the `pointermove` listener that the `dragging` event property is `false` (see [#3190](https://github.com/openlayers/ol3/pull/3190)).
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
* [#3171](https://github.com/openlayers/ol3/pull/3171) - KML: Parsing of NetworkLink tag ([@oterral](https://github.com/oterral))
|
||||||
|
* [#3209](https://github.com/openlayers/ol3/pull/3209) - Coding style fixes ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3208](https://github.com/openlayers/ol3/pull/3208) - Add setters and getters for imageLoadFunction ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3019](https://github.com/openlayers/ol3/pull/3019) - Add option to allow Select interaction logic to select overlapping features ([@bjornharrtell](https://github.com/bjornharrtell))
|
||||||
|
* [#3206](https://github.com/openlayers/ol3/pull/3206) - Add tooltip to show measure + help message while drawing ([@pgiraud](https://github.com/pgiraud))
|
||||||
|
* [#3205](https://github.com/openlayers/ol3/pull/3205) - Use ol.extent.createOrUpdateFromCoordinate ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3026](https://github.com/openlayers/ol3/pull/3026) - Add support of reading WMTS Get Cap document ([@htulipe](https://github.com/htulipe))
|
||||||
|
* [#3201](https://github.com/openlayers/ol3/pull/3201) - Pass on opt_fast to parent clear function in ol.source.ServerVector (r=@elemoine,@gberaudo) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3199](https://github.com/openlayers/ol3/pull/3199) - Minor jsdoc fixes ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3059](https://github.com/openlayers/ol3/pull/3059) - Cache the buffered extent value ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3196](https://github.com/openlayers/ol3/pull/3196) - Remove unnecessary newlines ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3099](https://github.com/openlayers/ol3/pull/3099) - Fix up parsing of OGR GML with ol.format.GML ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3195](https://github.com/openlayers/ol3/pull/3195) - Coding style ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3192](https://github.com/openlayers/ol3/pull/3192) - Add "url" option to ol.source.MapQuest ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3172](https://github.com/openlayers/ol3/pull/3172) - Introduce forEachLayerAtPixel ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3178](https://github.com/openlayers/ol3/pull/3178) - GeoJSON externs fixes ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3179](https://github.com/openlayers/ol3/pull/3179) - Disallow undefined values for ol.layer.Base ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3161](https://github.com/openlayers/ol3/pull/3161) - Doc fix. writeFeaturesNode receives an array of Feature ([@3x0dv5](https://github.com/3x0dv5))
|
||||||
|
* [#3169](https://github.com/openlayers/ol3/pull/3169) - Fix default icon style in kml format ([@oterral](https://github.com/oterral))
|
||||||
|
* [#3190](https://github.com/openlayers/ol3/pull/3190) - Introduce `dragging` flag for MapBrowserEvent ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3135](https://github.com/openlayers/ol3/pull/3135) - Make changing the label of ZoomToExtent/FullScreen control consistent ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3186](https://github.com/openlayers/ol3/pull/3186) - Take the pixel ratio into account when clipping the layer ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3183](https://github.com/openlayers/ol3/pull/3183) - Allow other params than 'mode' in example page query string. ([@htulipe](https://github.com/htulipe))
|
||||||
|
* [#2791](https://github.com/openlayers/ol3/pull/2791) - Re enable rotation button transition ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3180](https://github.com/openlayers/ol3/pull/3180) - Add a getMap function to ol.FeatureOverlay (r=@ahocevar) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3176](https://github.com/openlayers/ol3/pull/3176) - Disallowed undefined rotation value ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3177](https://github.com/openlayers/ol3/pull/3177) - Add example showing how to style polygon vertices ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3174](https://github.com/openlayers/ol3/pull/3174) - Use view.getRotation or view.getResolution instead of view.getState ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3170](https://github.com/openlayers/ol3/pull/3170) - Coding style ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3108](https://github.com/openlayers/ol3/pull/3108) - Support skipping features in the WebGL renderer ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3163](https://github.com/openlayers/ol3/pull/3163) - Use the layerStatesArray property from the frameState ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3159](https://github.com/openlayers/ol3/pull/3159) - Don't pass specific options to the parent constructor ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3066](https://github.com/openlayers/ol3/pull/3066) - Introduce hasFeatureAtPixel ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3065](https://github.com/openlayers/ol3/pull/3065) - Add hit-detection support for WebGL ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3128](https://github.com/openlayers/ol3/pull/3128) - Allow rendering of feature when download of icon failed ([@oterral](https://github.com/oterral))
|
||||||
|
* [#3156](https://github.com/openlayers/ol3/pull/3156) - Move readProjectionFrom* functions to the base classes ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3107](https://github.com/openlayers/ol3/pull/3107) - Also listen on loading images ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3153](https://github.com/openlayers/ol3/pull/3153) - Add missing GeoJSONFeature#bbox property ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3154](https://github.com/openlayers/ol3/pull/3154) - Remove unnecessary newlines ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3146](https://github.com/openlayers/ol3/pull/3146) - Enable tests for ol.geom.flat.reverse ([@icholy](https://github.com/icholy))
|
||||||
|
* [#3152](https://github.com/openlayers/ol3/pull/3152) - Update closure-library and closure-util version ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3145](https://github.com/openlayers/ol3/pull/3145) - Add wrapX option to source.OSM and source.BingMaps ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3139](https://github.com/openlayers/ol3/pull/3139) - Add ol.control.Control#setTarget ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3144](https://github.com/openlayers/ol3/pull/3144) - Update CONTRIBUTING style guide with recent guidelines ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3136](https://github.com/openlayers/ol3/pull/3136) - Use array.length = 0 instead of goog.array.clear ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3140](https://github.com/openlayers/ol3/pull/3140) - Avoid use of goog.array.clone with arrays. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3122](https://github.com/openlayers/ol3/pull/3122) - Revert "Use offsetX and offsetY if available" ([@fredj](https://github.com/fredj))
|
||||||
|
* [#2385](https://github.com/openlayers/ol3/pull/2385) - Option to update vector layers while animating ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3129](https://github.com/openlayers/ol3/pull/3129) - Only update the rbush item if the extent has changed ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3117](https://github.com/openlayers/ol3/pull/3117) - Add pixelRatio support for DOM vector renderer ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3124](https://github.com/openlayers/ol3/pull/3124) - Add a space between scale -value and -unit ([@sirtet](https://github.com/sirtet))
|
||||||
|
* [#3130](https://github.com/openlayers/ol3/pull/3130) - Document default value ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3105](https://github.com/openlayers/ol3/pull/3105) - ol.geom.Geometry#getExtent re-factoring ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3118](https://github.com/openlayers/ol3/pull/3118) - Bugfix: "Cannot read property 'firstElementChild' of null" (WFS) ([@naturalatlas](https://github.com/naturalatlas))
|
||||||
|
* [#3114](https://github.com/openlayers/ol3/pull/3114) - Specify node version in CONTRIBUTING.md ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3106](https://github.com/openlayers/ol3/pull/3106) - Don't pass specific options to the parent constructor ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3110](https://github.com/openlayers/ol3/pull/3110) - Use svg instead of png to get better image quality ([@PeterDaveHello](https://github.com/PeterDaveHello))
|
||||||
|
* [#2707](https://github.com/openlayers/ol3/pull/2707) - Generate source map of minified ol.js ([@gberaudo](https://github.com/gberaudo))
|
||||||
|
* [#3104](https://github.com/openlayers/ol3/pull/3104) - Don't pass renderBuffer option to the parent constructor ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3096](https://github.com/openlayers/ol3/pull/3096) - popup example cleanup / simplification ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3072](https://github.com/openlayers/ol3/pull/3072) - Optimize canvas hit detection by rendering features in a limited extent. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3101](https://github.com/openlayers/ol3/pull/3101) - Use bracket notation instead of goog.object functions. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3079](https://github.com/openlayers/ol3/pull/3079) - Exclude source files from docs. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3100](https://github.com/openlayers/ol3/pull/3100) - Assert that ol.layer.Tile#getPreload is always set ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3084](https://github.com/openlayers/ol3/pull/3084) - Changes from the v3.1.x branch. ([@openlayers](https://github.com/openlayers))
|
||||||
|
* [#3094](https://github.com/openlayers/ol3/pull/3094) - Remove AUTHORS.md. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3089](https://github.com/openlayers/ol3/pull/3089) - Fixed URL link for test README ([@mike-mcgann](https://github.com/mike-mcgann))
|
||||||
|
* [#2894](https://github.com/openlayers/ol3/pull/2894) - Simplify CSS code in custom-controls example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3085](https://github.com/openlayers/ol3/pull/3085) - Fixed documentation typo for return value of ol.proj.Projection.isGlobal(). ([@mike-mcgann](https://github.com/mike-mcgann))
|
||||||
|
* [#3073](https://github.com/openlayers/ol3/pull/3073) - Make map's deviceOptions map options ([@ahocevar](https://github.com/ahocevar))
|
||||||
9
changelog/v3.2.1.md
Normal file
9
changelog/v3.2.1.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# 3.2.1
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
This is a patch release that fixes a regression with the select interaction in the [3.2.0 release](https://github.com/openlayers/ol3/releases/tag/v3.2.0).
|
||||||
|
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
* [#3236](https://github.com/openlayers/ol3/pull/3236) - Select the uppermost feature. ([@tschaub](https://github.com/tschaub))
|
||||||
51
changelog/v3.3.0.md
Normal file
51
changelog/v3.3.0.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
## Upgrade notes
|
||||||
|
|
||||||
|
* The `ol.events.condition.mouseMove` function was replaced by `ol.events.condition.pointerMove` (see [#3281](https://github.com/openlayers/ol3/pull/3281)). For example, if you use `ol.events.condition.mouseMove` as the condition in a `Select` interaction then you now need to use `ol.events.condition.pointerMove`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
var selectInteraction = new ol.interaction.Select({
|
||||||
|
condition: ol.events.condition.pointerMove
|
||||||
|
// …
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Overview of all changes
|
||||||
|
|
||||||
|
* [#3263](https://github.com/openlayers/ol3/pull/3263) - Support ArcGIS Rest Services ([@cwgrant](https://github.com/cwgrant))
|
||||||
|
* [#3295](https://github.com/openlayers/ol3/pull/3295) - Add RESTful to WMTS GetCapabilities optionsFromCapabilities ([@sarametz](https://github.com/sarametz))
|
||||||
|
* [#3304](https://github.com/openlayers/ol3/pull/3304) - Remove scale line inner padding ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3296](https://github.com/openlayers/ol3/pull/3296) - Add upgrade-notes.md file ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3303](https://github.com/openlayers/ol3/pull/3303) - Add constant for us-ft units ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3018](https://github.com/openlayers/ol3/pull/3018) - Add SelectEvent to interaction ([@bjornharrtell](https://github.com/bjornharrtell))
|
||||||
|
* [#3301](https://github.com/openlayers/ol3/pull/3301) - Select interaction unit tests ([@bjornharrtell](https://github.com/bjornharrtell))
|
||||||
|
* [#3298](https://github.com/openlayers/ol3/pull/3298) - Make ol.source.Source inherit from ol.Object ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3297](https://github.com/openlayers/ol3/pull/3297) - Add getters to ol.source.WMTS ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3281](https://github.com/openlayers/ol3/pull/3281) - Fix mouseMove event type comparison for IE10-11, pointermove ([@adube](https://github.com/adube))
|
||||||
|
* [#3293](https://github.com/openlayers/ol3/pull/3293) - Add missing opacity option for ol.style.IconOptions ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3284](https://github.com/openlayers/ol3/pull/3284) - Fix jsdoc type for arrays of listening keys ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3278](https://github.com/openlayers/ol3/pull/3278) - Add goog.provide for ol.DrawEventType ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3272](https://github.com/openlayers/ol3/pull/3272) - Added getter function to return the wrapped source within the cluster ([@acanimal](https://github.com/acanimal))
|
||||||
|
* [#3275](https://github.com/openlayers/ol3/pull/3275) - Add ol.layer.Heatmap#blur getter and setter ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3142](https://github.com/openlayers/ol3/pull/3142) - WMTS Get Cap document with updated WMTS.optionsFromCapabilities function ([@sarametz](https://github.com/sarametz))
|
||||||
|
* [#3271](https://github.com/openlayers/ol3/pull/3271) - [wip] Fix misplaced comment blocks ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3273](https://github.com/openlayers/ol3/pull/3273) - Remove unused createGetTileIfLoadedFunction function. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3270](https://github.com/openlayers/ol3/pull/3270) - Make ol.Overlay autoPan default to false ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3268](https://github.com/openlayers/ol3/pull/3268) - Fix autoPan in examples with ol.Overlay on hover ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3256](https://github.com/openlayers/ol3/pull/3256) - Add autoPan option to ol.Overlay ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3261](https://github.com/openlayers/ol3/pull/3261) - Fix forEachCorner extent, add TopLeft ([@adube](https://github.com/adube))
|
||||||
|
* [#3260](https://github.com/openlayers/ol3/pull/3260) - Remove unused goog.require ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3246](https://github.com/openlayers/ol3/pull/3246) - Avoid creating unnecessary images in tile layers. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3254](https://github.com/openlayers/ol3/pull/3254) - Use lineCap, lineJoin and miterLimit stroke properties in RegularShape ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3252](https://github.com/openlayers/ol3/pull/3252) - Avoid leaking global listenerSpy. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3248](https://github.com/openlayers/ol3/pull/3248) - Add tile loading events to image tile sources. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3240](https://github.com/openlayers/ol3/pull/3240) - Changes from the v3.2.x branch. ([@openlayers](https://github.com/openlayers))
|
||||||
|
* [#3233](https://github.com/openlayers/ol3/pull/3233) - Four small fixes. ([@stweil](https://github.com/stweil))
|
||||||
|
* [#3232](https://github.com/openlayers/ol3/pull/3232) - Fix typos found by codespell. ([@stweil](https://github.com/stweil))
|
||||||
|
* [#3231](https://github.com/openlayers/ol3/pull/3231) - Make ol.layer.Heatmap#radius configurable ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3225](https://github.com/openlayers/ol3/pull/3225) - Respect attributions passed to TileJSON source. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3223](https://github.com/openlayers/ol3/pull/3223) - Resize the canvas when the tile size changes. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3224](https://github.com/openlayers/ol3/pull/3224) - Provide the ability to get the layer name from a MapQuest source ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3222](https://github.com/openlayers/ol3/pull/3222) - Add geodesic option for measure ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3221](https://github.com/openlayers/ol3/pull/3221) - Select the uppermost feature ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3211](https://github.com/openlayers/ol3/pull/3211) - Bing https logo fix. ([@photostu](https://github.com/photostu))
|
||||||
|
* [#3215](https://github.com/openlayers/ol3/pull/3215) - Allow reuse of layer rendering code without creating a map. ([@tschaub](https://github.com/tschaub))
|
||||||
43
changelog/v3.4.0.md
Normal file
43
changelog/v3.4.0.md
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
## Overview of all changes
|
||||||
|
|
||||||
|
* [#3383](https://github.com/openlayers/ol3/pull/3383) - GML3 tests time out in unit tests ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3401](https://github.com/openlayers/ol3/pull/3401) - Allow GeoJSON to be serialized according to the right-hand rule. ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#3403](https://github.com/openlayers/ol3/pull/3403) - Remove unused goog.require ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3362](https://github.com/openlayers/ol3/pull/3362) - Configure proj4 options and transforms upon construction ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3394](https://github.com/openlayers/ol3/pull/3394) - Fix fullscreen pseudo CSS class name ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3399](https://github.com/openlayers/ol3/pull/3399) - Clarify when widths need to be configured on a tile grid ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3398](https://github.com/openlayers/ol3/pull/3398) - Make sure that the return value of wrapX() is stable ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3396](https://github.com/openlayers/ol3/pull/3396) - Move the compare function out of ol.interaction.Modify.handleDownEvent_ ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3395](https://github.com/openlayers/ol3/pull/3395) - ol.Interaction.Modify fixes ([@fperucic](https://github.com/fperucic))
|
||||||
|
* [#3387](https://github.com/openlayers/ol3/pull/3387) - Add wrapX option for ol.source.WMTS ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3393](https://github.com/openlayers/ol3/pull/3393) - Remove unused define ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3392](https://github.com/openlayers/ol3/pull/3392) - Fix switching class name of full-screen control ([@tsauerwein](https://github.com/tsauerwein))
|
||||||
|
* [#3391](https://github.com/openlayers/ol3/pull/3391) - Minor code cleanup ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3388](https://github.com/openlayers/ol3/pull/3388) - Add new geometry layout option for polyline format ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3385](https://github.com/openlayers/ol3/pull/3385) - Fix ol.tilegrid.TileGrid#getZForResolution ([@elemoine](https://github.com/elemoine))
|
||||||
|
* [#3377](https://github.com/openlayers/ol3/pull/3377) - Support wrapX for attributions ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3382](https://github.com/openlayers/ol3/pull/3382) - Create github source links ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3376](https://github.com/openlayers/ol3/pull/3376) - Add ol.source.Tile support for wrapping around the x-axis ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3378](https://github.com/openlayers/ol3/pull/3378) - Clarify where to ask questions ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3380](https://github.com/openlayers/ol3/pull/3380) - Test the GeoJSON layout ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3360](https://github.com/openlayers/ol3/pull/3360) - Don't unlisten image twice when disposing an ol.ImageTile ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3361](https://github.com/openlayers/ol3/pull/3361) - Listen on localhost to avoid phantomjs browsing 0.0.0.0 ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3365](https://github.com/openlayers/ol3/pull/3365) - Better docs for #getPointResolution ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3363](https://github.com/openlayers/ol3/pull/3363) - New ol.proj features ([@bill-chadwick](https://github.com/bill-chadwick))
|
||||||
|
* [#3305](https://github.com/openlayers/ol3/pull/3305) - Add image loading events to image sources (r=@ahocevar,@elemoine) ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3343](https://github.com/openlayers/ol3/pull/3343) - Line arrows example ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3354](https://github.com/openlayers/ol3/pull/3354) - Mark ol.format.GeoJSON#writeFeature(s) option param optional ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3346](https://github.com/openlayers/ol3/pull/3346) - Set the 'properties' member to null if the feature has not properties ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3344](https://github.com/openlayers/ol3/pull/3344) - Minor code cleanup ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3237](https://github.com/openlayers/ol3/pull/3237) - Add circles to Draw interaction. ([@Morgul](https://github.com/Morgul))
|
||||||
|
* [#2691](https://github.com/openlayers/ol3/pull/2691) - Add will-change CSS properties ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3336](https://github.com/openlayers/ol3/pull/3336) - Use ol.Map#getTargetElement function ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3335](https://github.com/openlayers/ol3/pull/3335) - Update rbush to version 1.3.5 ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3322](https://github.com/openlayers/ol3/pull/3322) - Remove unneeded map.isDef call ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3327](https://github.com/openlayers/ol3/pull/3327) - Add css to dist directory ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3324](https://github.com/openlayers/ol3/pull/3324) - Add interface definition for ol.SelectEvent ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#3315](https://github.com/openlayers/ol3/pull/3315) - Fix Tissot indicatrix example description ([@fredj](https://github.com/fredj))
|
||||||
|
* [#3312](https://github.com/openlayers/ol3/pull/3312) - Fix HiDPI support for ArcGIS REST ([@ahocevar](https://github.com/ahocevar))
|
||||||
|
* [#2910](https://github.com/openlayers/ol3/pull/2910) - Support multiple featureTpes in GML parser ([@bartvde](https://github.com/bartvde))
|
||||||
|
* [#3309](https://github.com/openlayers/ol3/pull/3309) - Fix select event always reporting as multi select ([@bjornharrtell](https://github.com/bjornharrtell))
|
||||||
|
* [#3307](https://github.com/openlayers/ol3/pull/3307) - Handle all non-degree units in ol.control.ScaleLine ([@ahocevar](https://github.com/ahocevar))
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"library_url": "https://github.com/google/closure-library/archive/946a7d39d4ffe08676c755b21d901e71d9904a3b.zip"
|
"library_url": "https://github.com/google/closure-library/archive/0011afd534469ba111786fe68300a634e08a4d80.zip"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,30 @@
|
|||||||
{
|
{
|
||||||
"exports": [],
|
"exports": [],
|
||||||
"src": ["src/**/*.js", "build/examples/all.js"],
|
"src": [
|
||||||
|
"src/**/*.js",
|
||||||
|
"build/ol.ext/*.js",
|
||||||
|
"build/examples/all.js"
|
||||||
|
],
|
||||||
"compile": {
|
"compile": {
|
||||||
|
"js": [
|
||||||
|
"externs/olx.js",
|
||||||
|
"externs/oli.js"
|
||||||
|
],
|
||||||
"externs": [
|
"externs": [
|
||||||
"externs/bingmaps.js",
|
"externs/bingmaps.js",
|
||||||
"externs/bootstrap.js",
|
"externs/bootstrap.js",
|
||||||
"externs/closure-compiler.js",
|
"externs/closure-compiler.js",
|
||||||
"externs/example.js",
|
"externs/example.js",
|
||||||
|
"externs/fastclick.js",
|
||||||
"externs/geojson.js",
|
"externs/geojson.js",
|
||||||
"externs/jquery-1.7.js",
|
"externs/jquery-1.9.js",
|
||||||
"externs/oli.js",
|
|
||||||
"externs/olx.js",
|
|
||||||
"externs/proj4js.js",
|
"externs/proj4js.js",
|
||||||
"externs/tilejson.js",
|
"externs/tilejson.js",
|
||||||
"externs/topojson.js",
|
"externs/topojson.js",
|
||||||
"externs/vbarray.js"
|
"externs/vbarray.js"
|
||||||
],
|
],
|
||||||
"define": [
|
"define": [
|
||||||
|
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
|
||||||
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
||||||
"goog.json.USE_NATIVE_JSON=true",
|
"goog.json.USE_NATIVE_JSON=true",
|
||||||
"goog.DEBUG=false"
|
"goog.DEBUG=false"
|
||||||
@@ -61,7 +69,8 @@
|
|||||||
"api", "observable"
|
"api", "observable"
|
||||||
],
|
],
|
||||||
"compilation_level": "ADVANCED",
|
"compilation_level": "ADVANCED",
|
||||||
"output_wrapper": "// OpenLayers 3. See http://ol3.js.org/\n(function(){%output%})();",
|
"warning_level": "VERBOSE",
|
||||||
|
"output_wrapper": "(function(){%output%})();",
|
||||||
"use_types_for_optimization": true,
|
"use_types_for_optimization": true,
|
||||||
"manage_closure_dependencies": true
|
"manage_closure_dependencies": true
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
"cleverLinks": true,
|
"cleverLinks": true,
|
||||||
"monospaceLinks": true,
|
"monospaceLinks": true,
|
||||||
"default": {
|
"default": {
|
||||||
"outputSourceFiles": true
|
"outputSourceFiles": false
|
||||||
},
|
},
|
||||||
"applicationName": "OpenLayers 3"
|
"applicationName": "OpenLayers 3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ exports.handlers = {
|
|||||||
if (!cls.fires) {
|
if (!cls.fires) {
|
||||||
cls.fires = [];
|
cls.fires = [];
|
||||||
}
|
}
|
||||||
event = 'ol.ObjectEvent#event:change:' + name.toLowerCase();
|
event = 'ol.ObjectEvent#event:change:' + name;
|
||||||
if (cls.fires.indexOf(event) == -1) {
|
if (cls.fires.indexOf(event) == -1) {
|
||||||
cls.fires.push(event);
|
cls.fires.push(event);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,12 +53,41 @@ $(function () {
|
|||||||
$(window).on('resize', _onResize);
|
$(window).on('resize', _onResize);
|
||||||
_onResize();
|
_onResize();
|
||||||
|
|
||||||
|
// create source code links to github
|
||||||
|
var srcLinks = $('div.tag-source');
|
||||||
|
var masterSearch = window.location.href.match(/\/([^\/]*\/)apidoc\//);
|
||||||
|
if (masterSearch && masterSearch.length) {
|
||||||
|
var branch = masterSearch[1];
|
||||||
|
srcLinks.each(function(i, el) {
|
||||||
|
var textParts = el.innerHTML.trim().split(', ');
|
||||||
|
var link = 'https://github.com/openlayers/ol3/blob/' + branch +
|
||||||
|
textParts[0];
|
||||||
|
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
|
||||||
|
'<a href="' + link + textParts[1].replace('line ', '#l') + '">' +
|
||||||
|
textParts[1] + '</a>';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// show/hide unstable items
|
// show/hide unstable items
|
||||||
|
var links = $('a[href^="ol."]');
|
||||||
var unstable = $('.unstable');
|
var unstable = $('.unstable');
|
||||||
var stabilityToggle = $('#stability-toggle');
|
var stabilityToggle = $('#stability-toggle');
|
||||||
stabilityToggle.change(function() {
|
stabilityToggle.change(function() {
|
||||||
unstable.toggle(!this.checked);
|
unstable.toggleClass('hidden', this.checked);
|
||||||
|
var search = this.checked ? '' : '?unstable=true';
|
||||||
|
links.each(function(i, el) {
|
||||||
|
this.href = this.pathname + search + this.hash;
|
||||||
|
});
|
||||||
|
if (history.replaceState) {
|
||||||
|
var url = window.location.pathname + search + window.location.hash;
|
||||||
|
history.replaceState({}, '', url);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
unstable.toggle(!stabilityToggle[0].checked);
|
var search = window.location.search;
|
||||||
|
links.each(function(i, el) {
|
||||||
|
this.href = this.pathname + search + this.hash;
|
||||||
|
});
|
||||||
|
stabilityToggle.prop('checked', search !== '?unstable=true');
|
||||||
|
unstable.toggleClass('hidden', stabilityToggle[0].checked);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ footer {
|
|||||||
.main .readme table ul li {
|
.main .readme table ul li {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.unstable {
|
.hidden {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
#stability {
|
#stability {
|
||||||
|
|||||||
@@ -64,6 +64,23 @@ var self = this;
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
|
<ul class="fires itemMembers">
|
||||||
|
<?js
|
||||||
|
if (item.fires && item.fires.length) {
|
||||||
|
?>
|
||||||
|
<span class="subtitle">Fires</span>
|
||||||
|
<?js
|
||||||
|
item.fires.forEach(function (v) {
|
||||||
|
v = self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]};
|
||||||
|
?>
|
||||||
|
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability != 'stable' ? 'unstable' : '') ?>">
|
||||||
|
<?js= self.linkto(v.longname, v.name) ?>
|
||||||
|
</li>
|
||||||
|
<?js
|
||||||
|
});
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<?js }); ?>
|
<?js }); ?>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -22,14 +22,6 @@ exports.publish = function(data, opts) {
|
|||||||
return types;
|
return types;
|
||||||
}
|
}
|
||||||
|
|
||||||
function replaceUnknownTypes(item) {
|
|
||||||
item.types.forEach(function(type, index) {
|
|
||||||
if (!(type in names)) {
|
|
||||||
item.types[index] = '*';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// get all doclets with the "api" property or define (excluding events) or
|
// get all doclets with the "api" property or define (excluding events) or
|
||||||
// with olx namespace
|
// with olx namespace
|
||||||
var classes = {};
|
var classes = {};
|
||||||
@@ -168,16 +160,7 @@ exports.publish = function(data, opts) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
base = base.filter(function(symbol) {
|
base = base.filter(function(symbol) {
|
||||||
var pass = symbol.name in augments || symbol.virtual;
|
return (symbol.name in augments || symbol.virtual);
|
||||||
if (pass) {
|
|
||||||
if (symbol.params) {
|
|
||||||
symbol.params.forEach(replaceUnknownTypes);
|
|
||||||
}
|
|
||||||
if (symbol.returns) {
|
|
||||||
symbol.returns.forEach(replaceUnknownTypes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return pass;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
process.stdout.write(
|
process.stdout.write(
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"exports": ["*"]
|
"exports": ["*"],
|
||||||
|
"umd": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"exports": ["*"],
|
"exports": ["*"],
|
||||||
|
"umd": true,
|
||||||
"compile": {
|
"compile": {
|
||||||
"externs": [
|
"externs": [
|
||||||
"externs/bingmaps.js",
|
"externs/bingmaps.js",
|
||||||
@@ -13,6 +14,7 @@
|
|||||||
"externs/vbarray.js"
|
"externs/vbarray.js"
|
||||||
],
|
],
|
||||||
"define": [
|
"define": [
|
||||||
|
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
|
||||||
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
"goog.dom.ASSUME_STANDARDS_MODE=true",
|
||||||
"goog.json.USE_NATIVE_JSON=true",
|
"goog.json.USE_NATIVE_JSON=true",
|
||||||
"goog.DEBUG=false"
|
"goog.DEBUG=false"
|
||||||
@@ -57,8 +59,10 @@
|
|||||||
"api", "observable"
|
"api", "observable"
|
||||||
],
|
],
|
||||||
"compilation_level": "ADVANCED",
|
"compilation_level": "ADVANCED",
|
||||||
"output_wrapper": "(function(){%output%})();",
|
"warning_level": "VERBOSE",
|
||||||
"use_types_for_optimization": true,
|
"use_types_for_optimization": true,
|
||||||
"manage_closure_dependencies": true
|
"manage_closure_dependencies": true,
|
||||||
|
"create_source_map": "build/ol.js.map",
|
||||||
|
"source_map_format": "V3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
142
css/ol.css
142
css/ol.css
@@ -21,8 +21,12 @@
|
|||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
padding: 0px 2px;
|
will-change: contents, width;
|
||||||
}
|
}
|
||||||
|
.ol-overlay-container {
|
||||||
|
will-change: left,right,top,bottom;
|
||||||
|
}
|
||||||
|
|
||||||
.ol-unsupported {
|
.ol-unsupported {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -53,7 +57,12 @@
|
|||||||
.ol-rotate {
|
.ol-rotate {
|
||||||
top: .5em;
|
top: .5em;
|
||||||
right: .5em;
|
right: .5em;
|
||||||
transition: opacity .25s;
|
transition: opacity .25s linear, visibility 0s linear;
|
||||||
|
}
|
||||||
|
.ol-rotate.ol-hidden {
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
transition: opacity .25s linear, visibility 0s linear .25s;
|
||||||
}
|
}
|
||||||
.ol-zoom-extent {
|
.ol-zoom-extent {
|
||||||
top: 4.643em;
|
top: 4.643em;
|
||||||
@@ -95,9 +104,9 @@
|
|||||||
}
|
}
|
||||||
.ol-compass {
|
.ol-compass {
|
||||||
display: block;
|
display: block;
|
||||||
font-family: Arial;
|
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
|
will-change: transform;
|
||||||
}
|
}
|
||||||
.ol-touch .ol-control button {
|
.ol-touch .ol-control button {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
@@ -111,81 +120,13 @@
|
|||||||
background-color: #4c6079;
|
background-color: #4c6079;
|
||||||
background-color: rgba(0,60,136,0.7);
|
background-color: rgba(0,60,136,0.7);
|
||||||
}
|
}
|
||||||
.ol-zoom-extent button:after {
|
|
||||||
content: "E";
|
|
||||||
}
|
|
||||||
.ol-zoom .ol-zoom-in {
|
.ol-zoom .ol-zoom-in {
|
||||||
border-radius: 2px 2px 0 0;
|
border-radius: 2px 2px 0 0;
|
||||||
}
|
}
|
||||||
.ol-zoom .ol-zoom-out {
|
.ol-zoom .ol-zoom-out {
|
||||||
border-radius: 0 0 2px 2px;
|
border-radius: 0 0 2px 2px;
|
||||||
}
|
}
|
||||||
button.ol-full-screen-false:after {
|
|
||||||
content: "\2194";
|
|
||||||
}
|
|
||||||
button.ol-full-screen-true:after {
|
|
||||||
content: "\00d7";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* invisible but not hidden */
|
|
||||||
.ol-has-tooltip [role=tooltip] {
|
|
||||||
position: absolute;
|
|
||||||
clip: rect(1px 1px 1px 1px); /* < IE8 */
|
|
||||||
clip: rect(1px, 1px, 1px, 1px);
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
height: 1px;
|
|
||||||
width: 1px;
|
|
||||||
overflow: hidden;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 14px;
|
|
||||||
text-shadow: 0 0 2px #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* show a tooltip offset to below and right */
|
|
||||||
.ol-has-tooltip:hover [role=tooltip], .ol-has-tooltip:focus [role=tooltip] {
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
-webkit-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
clip: auto;
|
|
||||||
padding: 0 .4em;
|
|
||||||
font-size: .8em;
|
|
||||||
height: 1.2em;
|
|
||||||
width: auto;
|
|
||||||
line-height: 1.2em;
|
|
||||||
z-index: 1100;
|
|
||||||
max-height: 100px;
|
|
||||||
white-space: nowrap;
|
|
||||||
display: inline-block;
|
|
||||||
background: #FFF;
|
|
||||||
background: rgba(255,255,255,0.6);
|
|
||||||
color: #000;
|
|
||||||
border: 3px solid rgba(255,255,255,0);
|
|
||||||
border-left-width: 0;
|
|
||||||
border-radius: 0 4px 4px 0;
|
|
||||||
bottom: .3em;
|
|
||||||
left: 2.2em;
|
|
||||||
}
|
|
||||||
.ol-touch .ol-has-tooltip:hover [role=tooltip],
|
|
||||||
.ol-touch .ol-has-tooltip:focus [role=tooltip] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.ol-zoom .ol-has-tooltip:hover [role=tooltip],
|
|
||||||
.ol-zoom .ol-has-tooltip:focus [role=tooltip] {
|
|
||||||
top: 1.1em;
|
|
||||||
}
|
|
||||||
.ol-rotate .ol-has-tooltip:hover [role=tooltip],
|
|
||||||
.ol-rotate .ol-has-tooltip:focus [role=tooltip],
|
|
||||||
.ol-attribution .ol-has-tooltip:hover [role=tooltip],
|
|
||||||
.ol-attribution .ol-has-tooltip:focus [role=tooltip],
|
|
||||||
.ol-full-screen .ol-has-tooltip:hover [role=tooltip],
|
|
||||||
.ol-full-screen .ol-has-tooltip:focus [role=tooltip] {
|
|
||||||
right: 2.2em;
|
|
||||||
left: auto;
|
|
||||||
border-radius: 4px 0 0 4px;
|
|
||||||
border-left-width: 3px;
|
|
||||||
border-right-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ol-attribution {
|
.ol-attribution {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
@@ -201,7 +142,6 @@ button.ol-full-screen-true:after {
|
|||||||
line-height: 1.375em;
|
line-height: 1.375em;
|
||||||
color: #000;
|
color: #000;
|
||||||
text-shadow: 0 0 2px #fff;
|
text-shadow: 0 0 2px #fff;
|
||||||
max-width: calc(100% - 3.6em);
|
|
||||||
}
|
}
|
||||||
.ol-attribution li {
|
.ol-attribution li {
|
||||||
display: inline;
|
display: inline;
|
||||||
@@ -213,11 +153,11 @@ button.ol-full-screen-true:after {
|
|||||||
}
|
}
|
||||||
.ol-attribution img {
|
.ol-attribution img {
|
||||||
max-height: 2em;
|
max-height: 2em;
|
||||||
|
max-width: inherit;
|
||||||
}
|
}
|
||||||
.ol-attribution ul, .ol-attribution button {
|
.ol-attribution ul, .ol-attribution button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.ol-attribution:not(.ol-collapsed) button:hover [role=tooltip],
|
|
||||||
.ol-attribution.ol-collapsed ul {
|
.ol-attribution.ol-collapsed ul {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -255,29 +195,20 @@ button.ol-full-screen-true:after {
|
|||||||
left: .5em;
|
left: .5em;
|
||||||
background: #eee;
|
background: #eee;
|
||||||
background: rgba(255, 255, 255, 0.4);
|
background: rgba(255, 255, 255, 0.4);
|
||||||
border-radius: 4px;
|
width: 24px;
|
||||||
outline: none;
|
|
||||||
overflow: hidden;
|
|
||||||
width: 1.5675em;
|
|
||||||
height: 200px;
|
height: 200px;
|
||||||
padding: 3px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
}
|
||||||
.ol-zoomslider-thumb {
|
.ol-zoomslider-thumb {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
|
||||||
background: #7b98bc;
|
background: #7b98bc;
|
||||||
background: rgba(0,60,136,0.5);
|
background: rgba(0,60,136,0.5);
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
outline: none;
|
|
||||||
overflow: hidden;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 1.14em;
|
height: 10px;
|
||||||
height: 1em;
|
width: 22px;
|
||||||
width: 1.375em;
|
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
padding: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ol-touch .ol-zoomslider {
|
.ol-touch .ol-zoomslider {
|
||||||
top: 5.5em;
|
top: 5.5em;
|
||||||
width: 2.052em;
|
width: 2.052em;
|
||||||
@@ -286,9 +217,38 @@ button.ol-full-screen-true:after {
|
|||||||
width: 1.8em;
|
width: 1.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ol-control button,
|
.ol-overviewmap {
|
||||||
.ol-attribution,
|
position: absolute;
|
||||||
.ol-scale-line-inner,
|
left: 0.5em;
|
||||||
.ol-has-tooltip [role=tooltip] {
|
bottom: 0.5em;
|
||||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
}
|
||||||
|
.ol-overviewmap.ol-uncollapsible {
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
border-radius: 0 4px 0 0;
|
||||||
|
}
|
||||||
|
.ol-overviewmap .ol-overviewmap-map,
|
||||||
|
.ol-overviewmap button {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.ol-overviewmap .ol-overviewmap-map {
|
||||||
|
border: 1px solid #7b98bc;
|
||||||
|
height: 150px;
|
||||||
|
margin: 2px;
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
.ol-overviewmap:not(.ol-collapsed) button{
|
||||||
|
bottom: 1px;
|
||||||
|
left: 2px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
|
||||||
|
.ol-overviewmap.ol-uncollapsible button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ol-overviewmap:not(.ol-collapsed) {
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
}
|
||||||
|
.ol-overviewmap-box {
|
||||||
|
border: 2px dotted rgba(0,60,136,0.7);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,3 +12,7 @@ For a more in-depth overview of OpenLayers 3 core concepts, check out the [tutor
|
|||||||
Make sure to also check out the [OpenLayers 3 workshop](../../../ol3-workshop/).
|
Make sure to also check out the [OpenLayers 3 workshop](../../../ol3-workshop/).
|
||||||
|
|
||||||
Find additional reference material in the [API docs](../apidoc).
|
Find additional reference material in the [API docs](../apidoc).
|
||||||
|
|
||||||
|
# Questions
|
||||||
|
|
||||||
|
If you cannot find an answer in the documentation, you can ask your question on [stackoverflow using the tag 'openlayers-3'](http://stackoverflow.com/questions/tagged/openlayers-3).
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=accessible" type="text/javascript"></script>
|
<script src="loader.js?id=accessible" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=animation" type="text/javascript"></script>
|
<script src="loader.js?id=animation" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ var map = new ol.Map({
|
|||||||
})
|
})
|
||||||
],
|
],
|
||||||
renderer: exampleNS.getRendererFromQueryString(),
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
|
// Improve user experience by loading tiles while animating. Will make
|
||||||
|
// animations stutter on mobile or slow devices.
|
||||||
|
loadTilesWhileAnimating: true,
|
||||||
target: 'map',
|
target: 'map',
|
||||||
controls: ol.control.defaults({
|
controls: ol.control.defaults({
|
||||||
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
|
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
<title>R-Tree example</title>
|
<title>Tiled ArcGIS MapServer example</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -31,21 +31,21 @@
|
|||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
|
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
<h4 id="title">R-Tree example</h4>
|
<h4 id="title">Tiled ArcGIS MapServer example</h4>
|
||||||
<p id="shortdesc">R-Tree example. Please note that this example only works locally, it does not work when the examples are hosted. This is because it accesses internals the R-Tree data structure, which are not exported in the API.</p>
|
<p id="shortdesc">Example of a tiled ArcGIS layer.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
<p>See the <a href="rtree.js" target="_blank">rtree.js source</a> to see how this is done.</p>
|
<p>See the <a href="arcgis-tiled.js" target="_blank">arcgis-tiled.js source</a> to see how this is done.</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tags">vector, rtree</div>
|
<div id="tags">arcgis, tile, tilelayer</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=rtree" type="text/javascript"></script>
|
<script src="loader.js?id=arcgis-tiled" type="text/javascript"></script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
28
examples/arcgis-tiled.js
Normal file
28
examples/arcgis-tiled.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.source.MapQuest');
|
||||||
|
goog.require('ol.source.TileArcGISRest');
|
||||||
|
|
||||||
|
var url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
|
||||||
|
'Specialty/ESRI_StateCityHighway_USA/MapServer';
|
||||||
|
|
||||||
|
var layers = [
|
||||||
|
new ol.layer.Tile({
|
||||||
|
source: new ol.source.MapQuest({layer: 'sat'})
|
||||||
|
}),
|
||||||
|
new ol.layer.Tile({
|
||||||
|
extent: [-13884991, 2870341, -7455066, 6338219],
|
||||||
|
source: new ol.source.TileArcGISRest({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
|
})
|
||||||
|
];
|
||||||
|
var map = new ol.Map({
|
||||||
|
layers: layers,
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [-10997148, 4569099],
|
||||||
|
zoom: 4
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=attributions" type="text/javascript"></script>
|
<script src="loader.js?id=attributions" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=bind-input" type="text/javascript"></script>
|
<script src="loader.js?id=bind-input" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
<h4 id="title">Bing Maps example</h4>
|
<h4 id="title">Bing Maps example</h4>
|
||||||
<p id="shortdesc">Example of a Bing Maps layer.</p>
|
<p id="shortdesc">Example of a Bing Maps layer.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
|
<p>When the Bing Maps tile service doesn't have tiles for a given resolution and region it returns "placeholder" tiles indicating that. Zoom the map beyond level 19 to see the "placeholder" tiles. If you want OpenLayers to display stretched tiles in place of "placeholder" tiles beyond zoom level 19 then set <code>maxZoom</code> to <code>19</code> in the options passed to <code>ol.source.BingMaps</code>.</p>
|
||||||
<p>See the <a href="bing-maps.js" target="_blank">bing-maps.js source</a> to see how this is done.</p>
|
<p>See the <a href="bing-maps.js" target="_blank">bing-maps.js source</a> to see how this is done.</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tags">bing, bing-maps</div>
|
<div id="tags">bing, bing-maps</div>
|
||||||
@@ -51,7 +52,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=bing-maps" type="text/javascript"></script>
|
<script src="loader.js?id=bing-maps" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -20,12 +20,18 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
|
|||||||
source: new ol.source.BingMaps({
|
source: new ol.source.BingMaps({
|
||||||
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3',
|
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3',
|
||||||
imagerySet: styles[i]
|
imagerySet: styles[i]
|
||||||
|
// use maxZoom 19 to see stretched tiles instead of the BingMaps
|
||||||
|
// "no photos at this zoom level" tiles
|
||||||
|
// maxZoom: 19
|
||||||
})
|
})
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: layers,
|
layers: layers,
|
||||||
renderer: exampleNS.getRendererFromQueryString(),
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
|
// Improve user experience by loading tiles while dragging/zooming. Will make
|
||||||
|
// zooming choppy on mobile or slow devices.
|
||||||
|
loadTilesWhileInteracting: true,
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: new ol.View({
|
view: new ol.View({
|
||||||
center: [-6655.5402445057125, 6709968.258934638],
|
center: [-6655.5402445057125, 6709968.258934638],
|
||||||
|
|||||||
59
examples/box-selection.html
Normal file
59
examples/box-selection.html
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<title>Box selection example</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span4">
|
||||||
|
<h4 id="title">Box selection example</h4>
|
||||||
|
<p id="shortdesc">Using a DragBox interaction to select features.</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>This example shows how to use a <code>DragBox</code> interaction to select features. Selected features are added
|
||||||
|
to the feature overlay of a select interaction (<code>ol.interaction.Select</code>) for highlighting.</p>
|
||||||
|
<p>Use <code>SHIFT+drag</code> to draw boxes.</p>
|
||||||
|
<p>See the <a href="box-selection.js" target="_blank">box-selection.js source</a> to see how this is done.</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">DragBox, feature, selection, box</div>
|
||||||
|
</div>
|
||||||
|
<div class="span4 offset4">
|
||||||
|
<div id="info" class="alert alert-success">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=box-selection" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
80
examples/box-selection.js
Normal file
80
examples/box-selection.js
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.events.condition');
|
||||||
|
goog.require('ol.interaction.DragBox');
|
||||||
|
goog.require('ol.interaction.Select');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.layer.Vector');
|
||||||
|
goog.require('ol.source.GeoJSON');
|
||||||
|
goog.require('ol.source.OSM');
|
||||||
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
|
|
||||||
|
var vectorSource = new ol.source.GeoJSON({
|
||||||
|
projection: 'EPSG:3857',
|
||||||
|
url: 'data/geojson/countries.geojson'
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
layers: [
|
||||||
|
new ol.layer.Tile({
|
||||||
|
source: new ol.source.OSM()
|
||||||
|
}),
|
||||||
|
new ol.layer.Vector({
|
||||||
|
source: vectorSource
|
||||||
|
})
|
||||||
|
],
|
||||||
|
renderer: 'canvas',
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [0, 0],
|
||||||
|
zoom: 2
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
// a normal select interaction to handle click
|
||||||
|
var select = new ol.interaction.Select();
|
||||||
|
map.addInteraction(select);
|
||||||
|
|
||||||
|
var selectedFeatures = select.getFeatures();
|
||||||
|
|
||||||
|
// a DragBox interaction used to select features by drawing boxes
|
||||||
|
var dragBox = new ol.interaction.DragBox({
|
||||||
|
condition: ol.events.condition.shiftKeyOnly,
|
||||||
|
style: new ol.style.Style({
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: [0, 0, 255, 1]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
map.addInteraction(dragBox);
|
||||||
|
|
||||||
|
var infoBox = document.getElementById('info');
|
||||||
|
|
||||||
|
dragBox.on('boxend', function(e) {
|
||||||
|
// features that intersect the box are added to the collection of
|
||||||
|
// selected features, and their names are displayed in the "info"
|
||||||
|
// div
|
||||||
|
var info = [];
|
||||||
|
var extent = dragBox.getGeometry().getExtent();
|
||||||
|
vectorSource.forEachFeatureIntersectingExtent(extent, function(feature) {
|
||||||
|
selectedFeatures.push(feature);
|
||||||
|
info.push(feature.get('name'));
|
||||||
|
});
|
||||||
|
if (info.length > 0) {
|
||||||
|
infoBox.innerHTML = info.join(', ');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// clear selection when drawing a new box and when clicking on the map
|
||||||
|
dragBox.on('boxstart', function(e) {
|
||||||
|
selectedFeatures.clear();
|
||||||
|
infoBox.innerHTML = ' ';
|
||||||
|
});
|
||||||
|
map.on('click', function() {
|
||||||
|
selectedFeatures.clear();
|
||||||
|
infoBox.innerHTML = ' ';
|
||||||
|
});
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=brightness-contrast" type="text/javascript"></script>
|
<script src="loader.js?id=brightness-contrast" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
62
examples/button-title.html
Normal file
62
examples/button-title.html
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
.tooltip-inner {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<title>ol3 custom tooltips example</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<h4 id="title">Custom tooltips</h4>
|
||||||
|
<p id="shortdesc">
|
||||||
|
This example shows how to customize the buttons tooltips with
|
||||||
|
<a href="http://getbootstrap.com/javascript/#tooltips">Bootstrap</a>.
|
||||||
|
</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>
|
||||||
|
See the <a href="button-title.js" target="_blank">button-title.js source</a> to see how this is done.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">
|
||||||
|
custom, tooltip
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=button-title" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
27
examples/button-title.js
Normal file
27
examples/button-title.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.source.OSM');
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
layers: [
|
||||||
|
new ol.layer.Tile({
|
||||||
|
source: new ol.source.OSM()
|
||||||
|
})
|
||||||
|
],
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [-8730000, 5930000],
|
||||||
|
rotation: Math.PI / 5,
|
||||||
|
zoom: 8
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('.ol-zoom-in, .ol-zoom-out').tooltip({
|
||||||
|
placement: 'right'
|
||||||
|
});
|
||||||
|
$('.ol-rotate-reset, .ol-attribution button[title]').tooltip({
|
||||||
|
placement: 'left'
|
||||||
|
});
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=canvas-tiles" type="text/javascript"></script>
|
<script src="loader.js?id=canvas-tiles" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=center" type="text/javascript"></script>
|
<script src="loader.js?id=center" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=cluster" type="text/javascript"></script>
|
<script src="loader.js?id=cluster" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,39 +10,12 @@
|
|||||||
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.rotate-north {
|
.rotate-north {
|
||||||
position: absolute;
|
|
||||||
top: 65px;
|
top: 65px;
|
||||||
left: 8px;
|
left: .5em;
|
||||||
background: rgba(255,255,255,0.4);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
}
|
||||||
.ol-touch .rotate-north {
|
.ol-touch .rotate-north {
|
||||||
top: 80px;
|
top: 80px;
|
||||||
}
|
}
|
||||||
.rotate-north a {
|
|
||||||
display: block;
|
|
||||||
color: white;
|
|
||||||
font-size: 16px;
|
|
||||||
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 1px;
|
|
||||||
text-decoration: none;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 2px;
|
|
||||||
height: 22px;
|
|
||||||
width: 22px;
|
|
||||||
background: rgba(0,60,136,0.5);
|
|
||||||
}
|
|
||||||
.ol-touch .rotate-north a {
|
|
||||||
font-size: 20px;
|
|
||||||
height: 30px;
|
|
||||||
width: 30px;
|
|
||||||
line-height: 26px;
|
|
||||||
}
|
|
||||||
.rotate-north a:hover {
|
|
||||||
background: rgba(0,60,136,0.7);
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
<title>ol3 custom controls example</title>
|
<title>ol3 custom controls example</title>
|
||||||
</head>
|
</head>
|
||||||
@@ -82,7 +55,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=custom-controls" type="text/javascript"></script>
|
<script src="loader.js?id=custom-controls" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -29,23 +29,20 @@ app.RotateNorthControl = function(opt_options) {
|
|||||||
|
|
||||||
var options = opt_options || {};
|
var options = opt_options || {};
|
||||||
|
|
||||||
var anchor = document.createElement('a');
|
var button = document.createElement('button');
|
||||||
anchor.href = '#rotate-north';
|
button.innerHTML = 'N';
|
||||||
anchor.innerHTML = 'N';
|
|
||||||
|
|
||||||
var this_ = this;
|
var this_ = this;
|
||||||
var handleRotateNorth = function(e) {
|
var handleRotateNorth = function(e) {
|
||||||
// prevent #rotate-north anchor from getting appended to the url
|
|
||||||
e.preventDefault();
|
|
||||||
this_.getMap().getView().setRotation(0);
|
this_.getMap().getView().setRotation(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
anchor.addEventListener('click', handleRotateNorth, false);
|
button.addEventListener('click', handleRotateNorth, false);
|
||||||
anchor.addEventListener('touchstart', handleRotateNorth, false);
|
button.addEventListener('touchstart', handleRotateNorth, false);
|
||||||
|
|
||||||
var element = document.createElement('div');
|
var element = document.createElement('div');
|
||||||
element.className = 'rotate-north ol-unselectable';
|
element.className = 'rotate-north ol-unselectable ol-control';
|
||||||
element.appendChild(anchor);
|
element.appendChild(button);
|
||||||
|
|
||||||
ol.control.Control.call(this, {
|
ol.control.Control.call(this, {
|
||||||
element: element,
|
element: element,
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="http://d3js.org/d3.v3.min.js"></script>
|
<script src="http://d3js.org/d3.v3.min.js"></script>
|
||||||
<script src="http://d3js.org/topojson.v1.min.js"></script>
|
<script src="http://d3js.org/topojson.v1.min.js"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
|||||||
BIN
examples/data/Butterfly.png
Normal file
BIN
examples/data/Butterfly.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
@@ -1,374 +1,279 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
|
<Capabilities version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd">
|
||||||
<ows:ServiceIdentification>
|
<ows:ServiceIdentification>
|
||||||
<ows:Title>Web Map Tile Service</ows:Title>
|
<ows:Title>Koordinates Labs</ows:Title>
|
||||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||||
<ows:Fees>none</ows:Fees>
|
</ows:ServiceIdentification>
|
||||||
<ows:AccessConstraints>http://data.wien.gv.at/nutzungsbedingungen</ows:AccessConstraints>
|
<ows:ServiceProvider>
|
||||||
</ows:ServiceIdentification>
|
<ows:ProviderName>Koordinates</ows:ProviderName>
|
||||||
<ows:ServiceProvider>
|
<ows:ProviderSite xlink:href="http://labs.koordinates.com"/>
|
||||||
<ows:ProviderName>Magistrat Wien</ows:ProviderName>
|
<ows:ServiceContact/>
|
||||||
<ows:ProviderSite xlink:href="http://www.wien.gv.at"/>
|
</ows:ServiceProvider>
|
||||||
<ows:ServiceContact>
|
<ows:OperationsMetadata>
|
||||||
<ows:IndividualName>Gerhard Sommer</ows:IndividualName>
|
<ows:Operation name="GetCapabilities">
|
||||||
</ows:ServiceContact>
|
<ows:DCP>
|
||||||
</ows:ServiceProvider>
|
<ows:HTTP>
|
||||||
<ows:OperationsMetadata>
|
<ows:Get xlink:href="https://labs.koordinates.com/services;key=d740ea02e0c44cafb70dce31a774ca10/wmts/1.0.0/layer/7328/WMTSCapabilities.xml?">
|
||||||
<ows:Operation name="GetCapabilities">
|
<ows:Constraint name="GetEncoding">
|
||||||
<ows:DCP>
|
<ows:AllowedValues>
|
||||||
<ows:HTTP>
|
<ows:Value>KVP</ows:Value>
|
||||||
<ows:Get xlink:href="http://maps.wien.gv.at/wmts">
|
</ows:AllowedValues>
|
||||||
<ows:Constraint name="GetEncoding">
|
</ows:Constraint>
|
||||||
<ows:AllowedValues>
|
</ows:Get>
|
||||||
<ows:Value>RESTful</ows:Value>
|
</ows:HTTP>
|
||||||
</ows:AllowedValues>
|
</ows:DCP>
|
||||||
</ows:Constraint>
|
</ows:Operation>
|
||||||
</ows:Get>
|
<ows:Operation name="GetFeatureInfo">
|
||||||
<ows:Get xlink:href="http://maps1.wien.gv.at/wmts">
|
<ows:DCP>
|
||||||
<ows:Constraint name="GetEncoding">
|
<ows:HTTP>
|
||||||
<ows:AllowedValues>
|
<ows:Get xlink:href="https://labs.koordinates.com/services;key=d740ea02e0c44cafb70dce31a774ca10/wmts/?">
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ows:Constraint name="GetEncoding">
|
||||||
</ows:AllowedValues>
|
<ows:AllowedValues>
|
||||||
</ows:Constraint>
|
<ows:Value>KVP</ows:Value>
|
||||||
</ows:Get>
|
</ows:AllowedValues>
|
||||||
<ows:Get xlink:href="http://maps2.wien.gv.at/wmts">
|
</ows:Constraint>
|
||||||
<ows:Constraint name="GetEncoding">
|
</ows:Get>
|
||||||
<ows:AllowedValues>
|
</ows:HTTP>
|
||||||
<ows:Value>RESTful</ows:Value>
|
</ows:DCP>
|
||||||
</ows:AllowedValues>
|
</ows:Operation>
|
||||||
</ows:Constraint>
|
</ows:OperationsMetadata>
|
||||||
</ows:Get>
|
<Contents>
|
||||||
<ows:Get xlink:href="http://maps3.wien.gv.at/wmts">
|
<Layer>
|
||||||
<ows:Constraint name="GetEncoding">
|
<ows:Title>New Zealand Earthquakes</ows:Title>
|
||||||
<ows:AllowedValues>
|
<ows:Abstract>Historical earthquake data, accessed via the [GeoNet WFS feed](http://info.geonet.org.nz/display/appdata/Advanced+Queries). The data has been filtered to only include quakes in proximity to New Zealand with an `eventtype` of "Earthquake" or "none" per the [GeoNet catalogue](http://info.geonet.org.nz/display/appdata/Catalogue+Output). Most fields have been removed. Please also note the excluded data per this [GeoNet page](http://info.geonet.org.nz/display/appdata/The+Gap). We acknowledge the New Zealand GeoNet project and its sponsors EQC, GNS Science and LINZ, for providing data used in this layer.</ows:Abstract>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ows:Identifier>layer-7328</ows:Identifier>
|
||||||
</ows:AllowedValues>
|
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
|
||||||
</ows:Constraint>
|
<ows:LowerCorner>-20037508.342789 -6406581.708337</ows:LowerCorner>
|
||||||
</ows:Get>
|
<ows:UpperCorner>20037508.342789 -3653545.667928</ows:UpperCorner>
|
||||||
<ows:Get xlink:href="http://maps4.wien.gv.at/wmts">
|
</ows:BoundingBox>
|
||||||
<ows:Constraint name="GetEncoding">
|
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||||
<ows:AllowedValues>
|
<ows:LowerCorner>-180.000000 -49.454297</ows:LowerCorner>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ows:UpperCorner>180.000000 -31.160000</ows:UpperCorner>
|
||||||
</ows:AllowedValues>
|
</ows:WGS84BoundingBox>
|
||||||
</ows:Constraint>
|
<Style isDefault="true">
|
||||||
</ows:Get>
|
<ows:Title>Weighted point styles</ows:Title>
|
||||||
</ows:HTTP>
|
<ows:Identifier>style=39</ows:Identifier>
|
||||||
</ows:DCP>
|
</Style>
|
||||||
</ows:Operation>
|
<Format>image/png</Format>
|
||||||
<ows:Operation name="GetTile">
|
<InfoFormat>application/json</InfoFormat>
|
||||||
<ows:DCP>
|
<InfoFormat>text/html</InfoFormat>
|
||||||
<ows:HTTP>
|
<TileMatrixSetLink>
|
||||||
<ows:Get xlink:href="http://maps.wien.gv.at/wmts">
|
<TileMatrixSet>EPSG:3857</TileMatrixSet>
|
||||||
<ows:Constraint name="GetEncoding">
|
</TileMatrixSetLink>
|
||||||
<ows:AllowedValues>
|
<ResourceURL format="image/png" resourceType="tile" template="https://koordinates-tiles-a.global.ssl.fastly.net/services;key=d740ea02e0c44cafb70dce31a774ca10/tiles/v4/layer=7328,{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png"/>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ResourceURL format="application/json" resourceType="FeatureInfo" template="https://labs.koordinates.com/services;key=d740ea02e0c44cafb70dce31a774ca10/wmts/1.0.0/layer/7328/featureinfo/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}/{I}/{J}.json"/>
|
||||||
</ows:AllowedValues>
|
<ResourceURL format="text/html" resourceType="FeatureInfo" template="https://labs.koordinates.com/services;key=d740ea02e0c44cafb70dce31a774ca10/wmts/1.0.0/layer/7328/featureinfo/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}/{I}/{J}.html"/>
|
||||||
</ows:Constraint>
|
</Layer>
|
||||||
</ows:Get>
|
<TileMatrixSet>
|
||||||
<ows:Get xlink:href="http://maps1.wien.gv.at/wmts">
|
<ows:Title>GoogleMapsCompatible</ows:Title>
|
||||||
<ows:Constraint name="GetEncoding">
|
<ows:Abstract>The well-known 'GoogleMapsCompatible' tile matrix set defined by the OGC WMTS specification</ows:Abstract>
|
||||||
<ows:AllowedValues>
|
<ows:Identifier>EPSG:3857</ows:Identifier>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
|
||||||
</ows:AllowedValues>
|
<ows:LowerCorner>-20037508.342789 -20037508.342789</ows:LowerCorner>
|
||||||
</ows:Constraint>
|
<ows:UpperCorner>20037508.342789 20037508.342789</ows:UpperCorner>
|
||||||
</ows:Get>
|
</ows:BoundingBox>
|
||||||
<ows:Get xlink:href="http://maps2.wien.gv.at/wmts">
|
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>
|
||||||
<ows:Constraint name="GetEncoding">
|
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
||||||
<ows:AllowedValues>
|
<TileMatrix>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<ows:Identifier>0</ows:Identifier>
|
||||||
</ows:AllowedValues>
|
<ScaleDenominator>559082264.029</ScaleDenominator>
|
||||||
</ows:Constraint>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</ows:Get>
|
<TileWidth>256</TileWidth>
|
||||||
<ows:Get xlink:href="http://maps3.wien.gv.at/wmts">
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Constraint name="GetEncoding">
|
<MatrixWidth>1</MatrixWidth>
|
||||||
<ows:AllowedValues>
|
<MatrixHeight>1</MatrixHeight>
|
||||||
<ows:Value>RESTful</ows:Value>
|
</TileMatrix>
|
||||||
</ows:AllowedValues>
|
<TileMatrix>
|
||||||
</ows:Constraint>
|
<ows:Identifier>1</ows:Identifier>
|
||||||
</ows:Get>
|
<ScaleDenominator>279541132.014</ScaleDenominator>
|
||||||
<ows:Get xlink:href="http://maps4.wien.gv.at/wmts">
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<ows:Constraint name="GetEncoding">
|
<TileWidth>256</TileWidth>
|
||||||
<ows:AllowedValues>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Value>RESTful</ows:Value>
|
<MatrixWidth>2</MatrixWidth>
|
||||||
</ows:AllowedValues>
|
<MatrixHeight>2</MatrixHeight>
|
||||||
</ows:Constraint>
|
</TileMatrix>
|
||||||
</ows:Get>
|
<TileMatrix>
|
||||||
</ows:HTTP>
|
<ows:Identifier>2</ows:Identifier>
|
||||||
</ows:DCP>
|
<ScaleDenominator>139770566.007</ScaleDenominator>
|
||||||
</ows:Operation>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</ows:OperationsMetadata>
|
<TileWidth>256</TileWidth>
|
||||||
<Contents>
|
<TileHeight>256</TileHeight>
|
||||||
<Layer>
|
<MatrixWidth>4</MatrixWidth>
|
||||||
<ows:Title>Luftbild</ows:Title>
|
<MatrixHeight>4</MatrixHeight>
|
||||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
</TileMatrix>
|
||||||
<ows:LowerCorner>16.17 48.10</ows:LowerCorner>
|
<TileMatrix>
|
||||||
<ows:UpperCorner>16.58 48.33</ows:UpperCorner>
|
<ows:Identifier>3</ows:Identifier>
|
||||||
</ows:WGS84BoundingBox>
|
<ScaleDenominator>69885283.0036</ScaleDenominator>
|
||||||
<ows:Identifier>lb</ows:Identifier>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<Style isDefault="true">
|
<TileWidth>256</TileWidth>
|
||||||
<ows:Identifier>farbe</ows:Identifier>
|
<TileHeight>256</TileHeight>
|
||||||
</Style>
|
<MatrixWidth>8</MatrixWidth>
|
||||||
<Format>image/jpeg</Format>
|
<MatrixHeight>8</MatrixHeight>
|
||||||
<TileMatrixSetLink>
|
</TileMatrix>
|
||||||
<TileMatrixSet>google3857</TileMatrixSet>
|
<TileMatrix>
|
||||||
</TileMatrixSetLink>
|
<ows:Identifier>4</ows:Identifier>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps1.wien.gv.at/wmts/lb/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<ScaleDenominator>34942641.5018</ScaleDenominator>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps2.wien.gv.at/wmts/lb/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps3.wien.gv.at/wmts/lb/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TileWidth>256</TileWidth>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps4.wien.gv.at/wmts/lb/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TileHeight>256</TileHeight>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps.wien.gv.at/wmts/lb/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<MatrixWidth>16</MatrixWidth>
|
||||||
</Layer>
|
<MatrixHeight>16</MatrixHeight>
|
||||||
<Layer>
|
</TileMatrix>
|
||||||
<ows:Title>MZK Flächen</ows:Title>
|
<TileMatrix>
|
||||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
<ows:Identifier>5</ows:Identifier>
|
||||||
<ows:LowerCorner>16.17 48.10</ows:LowerCorner>
|
<ScaleDenominator>17471320.7509</ScaleDenominator>
|
||||||
<ows:UpperCorner>16.58 48.33</ows:UpperCorner>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</ows:WGS84BoundingBox>
|
<TileWidth>256</TileWidth>
|
||||||
<ows:Identifier>fmzk</ows:Identifier>
|
<TileHeight>256</TileHeight>
|
||||||
<Style isDefault="true">
|
<MatrixWidth>32</MatrixWidth>
|
||||||
<ows:Identifier>pastell</ows:Identifier>
|
<MatrixHeight>32</MatrixHeight>
|
||||||
</Style>
|
</TileMatrix>
|
||||||
<Format>image/jpeg</Format>
|
<TileMatrix>
|
||||||
<TileMatrixSetLink>
|
<ows:Identifier>6</ows:Identifier>
|
||||||
<TileMatrixSet>google3857</TileMatrixSet>
|
<ScaleDenominator>8735660.37545</ScaleDenominator>
|
||||||
</TileMatrixSetLink>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps1.wien.gv.at/wmts/fmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TileWidth>256</TileWidth>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps2.wien.gv.at/wmts/fmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TileHeight>256</TileHeight>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps3.wien.gv.at/wmts/fmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<MatrixWidth>64</MatrixWidth>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps4.wien.gv.at/wmts/fmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<MatrixHeight>64</MatrixHeight>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps.wien.gv.at/wmts/fmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
</TileMatrix>
|
||||||
</Layer>
|
<TileMatrix>
|
||||||
<Layer>
|
<ows:Identifier>7</ows:Identifier>
|
||||||
<ows:Title>Flächenwidmungs- und Bebauungsplan</ows:Title>
|
<ScaleDenominator>4367830.18772</ScaleDenominator>
|
||||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<ows:LowerCorner>16.17 48.10</ows:LowerCorner>
|
<TileWidth>256</TileWidth>
|
||||||
<ows:UpperCorner>16.58 48.33</ows:UpperCorner>
|
<TileHeight>256</TileHeight>
|
||||||
</ows:WGS84BoundingBox>
|
<MatrixWidth>128</MatrixWidth>
|
||||||
<ows:Identifier>flwbplmzk</ows:Identifier>
|
<MatrixHeight>128</MatrixHeight>
|
||||||
<Style isDefault="true">
|
</TileMatrix>
|
||||||
<ows:Identifier>rot</ows:Identifier>
|
<TileMatrix>
|
||||||
</Style>
|
<ows:Identifier>8</ows:Identifier>
|
||||||
<Format>image/jpeg</Format>
|
<ScaleDenominator>2183915.09386</ScaleDenominator>
|
||||||
<TileMatrixSetLink>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<TileMatrixSet>google3857</TileMatrixSet>
|
<TileWidth>256</TileWidth>
|
||||||
</TileMatrixSetLink>
|
<TileHeight>256</TileHeight>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps1.wien.gv.at/wmts/flwbplmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<MatrixWidth>256</MatrixWidth>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps2.wien.gv.at/wmts/flwbplmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<MatrixHeight>256</MatrixHeight>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps3.wien.gv.at/wmts/flwbplmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
</TileMatrix>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps4.wien.gv.at/wmts/flwbplmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<TileMatrix>
|
||||||
<ResourceURL format="image/jpeg" template="http://maps.wien.gv.at/wmts/flwbplmzk/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile"/>
|
<ows:Identifier>9</ows:Identifier>
|
||||||
</Layer>
|
<ScaleDenominator>1091957.54693</ScaleDenominator>
|
||||||
<Layer>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<ows:Title>Beschriftung</ows:Title>
|
<TileWidth>256</TileWidth>
|
||||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
<TileHeight>256</TileHeight>
|
||||||
<ows:LowerCorner>16.17 48.10</ows:LowerCorner>
|
<MatrixWidth>512</MatrixWidth>
|
||||||
<ows:UpperCorner>16.58 48.33</ows:UpperCorner>
|
<MatrixHeight>512</MatrixHeight>
|
||||||
</ows:WGS84BoundingBox>
|
</TileMatrix>
|
||||||
<ows:Identifier>beschriftung</ows:Identifier>
|
<TileMatrix>
|
||||||
<Style isDefault="true">
|
<ows:Identifier>10</ows:Identifier>
|
||||||
<ows:Identifier>normal</ows:Identifier>
|
<ScaleDenominator>545978.773466</ScaleDenominator>
|
||||||
</Style>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<Format>image/png</Format>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrixSetLink>
|
<TileHeight>256</TileHeight>
|
||||||
<TileMatrixSet>google3857</TileMatrixSet>
|
<MatrixWidth>1024</MatrixWidth>
|
||||||
</TileMatrixSetLink>
|
<MatrixHeight>1024</MatrixHeight>
|
||||||
<ResourceURL format="image/png" template="http://maps1.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
</TileMatrix>
|
||||||
<ResourceURL format="image/png" template="http://maps2.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
<TileMatrix>
|
||||||
<ResourceURL format="image/png" template="http://maps3.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
<ows:Identifier>11</ows:Identifier>
|
||||||
<ResourceURL format="image/png" template="http://maps4.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
<ScaleDenominator>272989.386733</ScaleDenominator>
|
||||||
<ResourceURL format="image/png" template="http://maps.wien.gv.at/wmts/beschriftung/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</Layer>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrixSet>
|
<TileHeight>256</TileHeight>
|
||||||
<!-- -180 85.05112878 -->
|
<MatrixWidth>2048</MatrixWidth>
|
||||||
<ows:Identifier>google3857</ows:Identifier>
|
<MatrixHeight>2048</MatrixHeight>
|
||||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18:3:3857">
|
</TileMatrix>
|
||||||
<ows:LowerCorner>1799448.394855 6124949.747770</ows:LowerCorner>
|
<TileMatrix>
|
||||||
<ows:UpperCorner>1848250.442089 6162571.828177</ows:UpperCorner>
|
<ows:Identifier>12</ows:Identifier>
|
||||||
</ows:BoundingBox>
|
<ScaleDenominator>136494.693366</ScaleDenominator>
|
||||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18:3:3857</ows:SupportedCRS>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>0</ows:Identifier>
|
<MatrixWidth>4096</MatrixWidth>
|
||||||
<ScaleDenominator>559082264.029</ScaleDenominator>
|
<MatrixHeight>4096</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>13</ows:Identifier>
|
||||||
<MatrixWidth>1</MatrixWidth>
|
<ScaleDenominator>68247.3466832</ScaleDenominator>
|
||||||
<MatrixHeight>1</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>1</ows:Identifier>
|
<MatrixWidth>8192</MatrixWidth>
|
||||||
<ScaleDenominator>279541132.015</ScaleDenominator>
|
<MatrixHeight>8192</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>14</ows:Identifier>
|
||||||
<MatrixWidth>2</MatrixWidth>
|
<ScaleDenominator>34123.6733416</ScaleDenominator>
|
||||||
<MatrixHeight>2</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>2</ows:Identifier>
|
<MatrixWidth>16384</MatrixWidth>
|
||||||
<ScaleDenominator>139770566.007</ScaleDenominator>
|
<MatrixHeight>16384</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>15</ows:Identifier>
|
||||||
<MatrixWidth>4</MatrixWidth>
|
<ScaleDenominator>17061.8366708</ScaleDenominator>
|
||||||
<MatrixHeight>4</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>3</ows:Identifier>
|
<MatrixWidth>32768</MatrixWidth>
|
||||||
<ScaleDenominator>69885283.0036</ScaleDenominator>
|
<MatrixHeight>32768</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>16</ows:Identifier>
|
||||||
<MatrixWidth>8</MatrixWidth>
|
<ScaleDenominator>8530.9183354</ScaleDenominator>
|
||||||
<MatrixHeight>8</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>4</ows:Identifier>
|
<MatrixWidth>65536</MatrixWidth>
|
||||||
<ScaleDenominator>34942641.5018</ScaleDenominator>
|
<MatrixHeight>65536</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>17</ows:Identifier>
|
||||||
<MatrixWidth>16</MatrixWidth>
|
<ScaleDenominator>4265.4591677</ScaleDenominator>
|
||||||
<MatrixHeight>16</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>5</ows:Identifier>
|
<MatrixWidth>131072</MatrixWidth>
|
||||||
<ScaleDenominator>17471320.7509</ScaleDenominator>
|
<MatrixHeight>131072</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>18</ows:Identifier>
|
||||||
<MatrixWidth>32</MatrixWidth>
|
<ScaleDenominator>2132.72958385</ScaleDenominator>
|
||||||
<MatrixHeight>32</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>6</ows:Identifier>
|
<MatrixWidth>262144</MatrixWidth>
|
||||||
<ScaleDenominator>8735660.37545</ScaleDenominator>
|
<MatrixHeight>262144</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>19</ows:Identifier>
|
||||||
<MatrixWidth>64</MatrixWidth>
|
<ScaleDenominator>1066.36479192</ScaleDenominator>
|
||||||
<MatrixHeight>64</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>7</ows:Identifier>
|
<MatrixWidth>524288</MatrixWidth>
|
||||||
<ScaleDenominator>4367830.18773</ScaleDenominator>
|
<MatrixHeight>524288</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>20</ows:Identifier>
|
||||||
<MatrixWidth>128</MatrixWidth>
|
<ScaleDenominator>533.182395962</ScaleDenominator>
|
||||||
<MatrixHeight>128</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>8</ows:Identifier>
|
<MatrixWidth>1048576</MatrixWidth>
|
||||||
<ScaleDenominator>2183915.09386</ScaleDenominator>
|
<MatrixHeight>1048576</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
<TileMatrix>
|
||||||
<TileHeight>256</TileHeight>
|
<ows:Identifier>21</ows:Identifier>
|
||||||
<MatrixWidth>256</MatrixWidth>
|
<ScaleDenominator>266.591197981</ScaleDenominator>
|
||||||
<MatrixHeight>256</MatrixHeight>
|
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||||
</TileMatrix>
|
<TileWidth>256</TileWidth>
|
||||||
<TileMatrix>
|
<TileHeight>256</TileHeight>
|
||||||
<ows:Identifier>9</ows:Identifier>
|
<MatrixWidth>2097152</MatrixWidth>
|
||||||
<ScaleDenominator>1091957.54693</ScaleDenominator>
|
<MatrixHeight>2097152</MatrixHeight>
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
</TileMatrix>
|
||||||
<TileWidth>256</TileWidth>
|
</TileMatrixSet>
|
||||||
<TileHeight>256</TileHeight>
|
</Contents>
|
||||||
<MatrixWidth>512</MatrixWidth>
|
<ServiceMetadataURL xlink:href="https://labs.koordinates.com/services;key=d740ea02e0c44cafb70dce31a774ca10/wmts/1.0.0/layer/7328/WMTSCapabilities.xml"/>
|
||||||
<MatrixHeight>512</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>10</ows:Identifier>
|
|
||||||
<ScaleDenominator>545978.773466</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>1024</MatrixWidth>
|
|
||||||
<MatrixHeight>1024</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>11</ows:Identifier>
|
|
||||||
<ScaleDenominator>272989.386733</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>2048</MatrixWidth>
|
|
||||||
<MatrixHeight>2048</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>12</ows:Identifier>
|
|
||||||
<ScaleDenominator>136494.693366</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>4096</MatrixWidth>
|
|
||||||
<MatrixHeight>4096</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>13</ows:Identifier>
|
|
||||||
<ScaleDenominator>68247.3466832</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>8192</MatrixWidth>
|
|
||||||
<MatrixHeight>8192</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>14</ows:Identifier>
|
|
||||||
<ScaleDenominator>34123.6733416</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>16384</MatrixWidth>
|
|
||||||
<MatrixHeight>16384</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>15</ows:Identifier>
|
|
||||||
<ScaleDenominator>17061.8366708</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>32768</MatrixWidth>
|
|
||||||
<MatrixHeight>32768</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>16</ows:Identifier>
|
|
||||||
<ScaleDenominator>8530.91833540</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>65536</MatrixWidth>
|
|
||||||
<MatrixHeight>65536</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>17</ows:Identifier>
|
|
||||||
<ScaleDenominator>4265.45916770</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>131072</MatrixWidth>
|
|
||||||
<MatrixHeight>131072</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>18</ows:Identifier>
|
|
||||||
<ScaleDenominator>2132.72958385</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>262144</MatrixWidth>
|
|
||||||
<MatrixHeight>262144</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
<TileMatrix>
|
|
||||||
<ows:Identifier>19</ows:Identifier>
|
|
||||||
<ScaleDenominator>1066.36479193</ScaleDenominator>
|
|
||||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
|
||||||
<TileWidth>256</TileWidth>
|
|
||||||
<TileHeight>256</TileHeight>
|
|
||||||
<MatrixWidth>524288</MatrixWidth>
|
|
||||||
<MatrixHeight>524288</MatrixHeight>
|
|
||||||
</TileMatrix>
|
|
||||||
</TileMatrixSet>
|
|
||||||
</Contents>
|
|
||||||
<ServiceMetadataURL xlink:href="http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml"/>
|
|
||||||
</Capabilities>
|
</Capabilities>
|
||||||
BIN
examples/data/arrow.png
Normal file
BIN
examples/data/arrow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 398 B |
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=device-orientation" type="text/javascript"></script>
|
<script src="loader.js?id=device-orientation" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=drag-and-drop-image-vector" type="text/javascript"></script>
|
<script src="loader.js?id=drag-and-drop-image-vector" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,10 @@ var displayFeatureInfo = function(pixel) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$(map.getViewport()).on('mousemove', function(evt) {
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var pixel = map.getEventPixel(evt.originalEvent);
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
displayFeatureInfo(pixel);
|
displayFeatureInfo(pixel);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=drag-and-drop" type="text/javascript"></script>
|
<script src="loader.js?id=drag-and-drop" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,10 @@ var displayFeatureInfo = function(pixel) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$(map.getViewport()).on('mousemove', function(evt) {
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var pixel = map.getEventPixel(evt.originalEvent);
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
displayFeatureInfo(pixel);
|
displayFeatureInfo(pixel);
|
||||||
});
|
});
|
||||||
|
|||||||
51
examples/drag-features.html
Normal file
51
examples/drag-features.html
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<title>Drag features example</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span12">
|
||||||
|
<h4 id="title">Drag features example</h4>
|
||||||
|
<p id="shortdesc">Example of a drag features interaction.</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>See the <a href="drag-features.js" target="_blank">drag-features.js source</a> to see how this is done.</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">drag, feature, vector, editing</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=drag-features" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
192
examples/drag-features.js
Normal file
192
examples/drag-features.js
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
goog.require('ol.Feature');
|
||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.geom.LineString');
|
||||||
|
goog.require('ol.geom.Point');
|
||||||
|
goog.require('ol.geom.Polygon');
|
||||||
|
goog.require('ol.interaction');
|
||||||
|
goog.require('ol.interaction.Pointer');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.layer.Vector');
|
||||||
|
goog.require('ol.source.TileJSON');
|
||||||
|
goog.require('ol.source.Vector');
|
||||||
|
goog.require('ol.style.Fill');
|
||||||
|
goog.require('ol.style.Icon');
|
||||||
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define a namespace for the application.
|
||||||
|
*/
|
||||||
|
window.app = {};
|
||||||
|
var app = window.app;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @constructor
|
||||||
|
* @extends {ol.interaction.Pointer}
|
||||||
|
*/
|
||||||
|
app.Drag = function() {
|
||||||
|
|
||||||
|
ol.interaction.Pointer.call(this, {
|
||||||
|
handleDownEvent: app.Drag.prototype.handleDownEvent,
|
||||||
|
handleDragEvent: app.Drag.prototype.handleDragEvent,
|
||||||
|
handleMoveEvent: app.Drag.prototype.handleMoveEvent,
|
||||||
|
handleUpEvent: app.Drag.prototype.handleUpEvent
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {ol.Pixel}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.coordinate_ = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {string|undefined}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.cursor_ = 'pointer';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {ol.Feature}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.feature_ = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {string|undefined}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
this.previousCursor_ = undefined;
|
||||||
|
|
||||||
|
};
|
||||||
|
ol.inherits(app.Drag, ol.interaction.Pointer);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.MapBrowserEvent} evt Map browser event.
|
||||||
|
* @return {boolean} `true` to start the drag sequence.
|
||||||
|
*/
|
||||||
|
app.Drag.prototype.handleDownEvent = function(evt) {
|
||||||
|
var map = evt.map;
|
||||||
|
|
||||||
|
var feature = map.forEachFeatureAtPixel(evt.pixel,
|
||||||
|
function(feature, layer) {
|
||||||
|
return feature;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (feature) {
|
||||||
|
this.coordinate_ = evt.coordinate;
|
||||||
|
this.feature_ = feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
return !!feature;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.MapBrowserEvent} evt Map browser event.
|
||||||
|
*/
|
||||||
|
app.Drag.prototype.handleDragEvent = function(evt) {
|
||||||
|
var map = evt.map;
|
||||||
|
|
||||||
|
var feature = map.forEachFeatureAtPixel(evt.pixel,
|
||||||
|
function(feature, layer) {
|
||||||
|
return feature;
|
||||||
|
});
|
||||||
|
|
||||||
|
var deltaX = evt.coordinate[0] - this.coordinate_[0];
|
||||||
|
var deltaY = evt.coordinate[1] - this.coordinate_[1];
|
||||||
|
|
||||||
|
var geometry = /** @type {ol.geom.SimpleGeometry} */
|
||||||
|
(this.feature_.getGeometry());
|
||||||
|
geometry.translate(deltaX, deltaY);
|
||||||
|
|
||||||
|
this.coordinate_[0] = evt.coordinate[0];
|
||||||
|
this.coordinate_[1] = evt.coordinate[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.MapBrowserEvent} evt Event.
|
||||||
|
*/
|
||||||
|
app.Drag.prototype.handleMoveEvent = function(evt) {
|
||||||
|
if (this.cursor_) {
|
||||||
|
var map = evt.map;
|
||||||
|
var feature = map.forEachFeatureAtPixel(evt.pixel,
|
||||||
|
function(feature, layer) {
|
||||||
|
return feature;
|
||||||
|
});
|
||||||
|
var element = evt.map.getTargetElement();
|
||||||
|
if (feature) {
|
||||||
|
if (element.style.cursor != this.cursor_) {
|
||||||
|
this.previousCursor_ = element.style.cursor;
|
||||||
|
element.style.cursor = this.cursor_;
|
||||||
|
}
|
||||||
|
} else if (this.previousCursor_ !== undefined) {
|
||||||
|
element.style.cursor = this.previousCursor_;
|
||||||
|
this.previousCursor_ = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ol.MapBrowserEvent} evt Map browser event.
|
||||||
|
* @return {boolean} `false` to stop the drag sequence.
|
||||||
|
*/
|
||||||
|
app.Drag.prototype.handleUpEvent = function(evt) {
|
||||||
|
this.coordinate_ = null;
|
||||||
|
this.feature_ = null;
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var pointFeature = new ol.Feature(new ol.geom.Point([0, 0]));
|
||||||
|
|
||||||
|
var lineFeature = new ol.Feature(
|
||||||
|
new ol.geom.LineString([[-1e7, 1e6], [-1e6, 3e6]]));
|
||||||
|
|
||||||
|
var polygonFeature = new ol.Feature(
|
||||||
|
new ol.geom.Polygon([[[-3e6, -1e6], [-3e6, 1e6],
|
||||||
|
[-1e6, 1e6], [-1e6, -1e6], [-3e6, -1e6]]]));
|
||||||
|
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
interactions: ol.interaction.defaults().extend([new app.Drag()]),
|
||||||
|
layers: [
|
||||||
|
new ol.layer.Tile({
|
||||||
|
source: new ol.source.TileJSON({
|
||||||
|
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.jsonp'
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
new ol.layer.Vector({
|
||||||
|
source: new ol.source.Vector({
|
||||||
|
features: [pointFeature, lineFeature, polygonFeature]
|
||||||
|
}),
|
||||||
|
style: new ol.style.Style({
|
||||||
|
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
|
||||||
|
anchor: [0.5, 46],
|
||||||
|
anchorXUnits: 'fraction',
|
||||||
|
anchorYUnits: 'pixels',
|
||||||
|
opacity: 0.95,
|
||||||
|
src: 'data/icon.png'
|
||||||
|
})),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
width: 3,
|
||||||
|
color: [255, 0, 0, 1]
|
||||||
|
}),
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: [0, 0, 255, 0.6]
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
],
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [0, 0],
|
||||||
|
zoom: 2
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=drag-rotate-and-zoom" type="text/javascript"></script>
|
<script src="loader.js?id=drag-rotate-and-zoom" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=draw-and-modify-features" type="text/javascript"></script>
|
<script src="loader.js?id=draw-and-modify-features" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ goog.require('ol.FeatureOverlay');
|
|||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.View');
|
goog.require('ol.View');
|
||||||
goog.require('ol.events.condition');
|
goog.require('ol.events.condition');
|
||||||
goog.require('ol.interaction');
|
|
||||||
goog.require('ol.interaction.Draw');
|
goog.require('ol.interaction.Draw');
|
||||||
goog.require('ol.interaction.Modify');
|
goog.require('ol.interaction.Modify');
|
||||||
goog.require('ol.layer.Tile');
|
goog.require('ol.layer.Tile');
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
<option value="Point">Point</option>
|
<option value="Point">Point</option>
|
||||||
<option value="LineString">LineString</option>
|
<option value="LineString">LineString</option>
|
||||||
<option value="Polygon">Polygon</option>
|
<option value="Polygon">Polygon</option>
|
||||||
|
<option value="Circle">Circle</option>
|
||||||
</select>
|
</select>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@@ -53,7 +54,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=draw-features" type="text/javascript"></script>
|
<script src="loader.js?id=draw-features" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.View');
|
goog.require('ol.View');
|
||||||
goog.require('ol.interaction');
|
|
||||||
goog.require('ol.interaction.Draw');
|
goog.require('ol.interaction.Draw');
|
||||||
goog.require('ol.layer.Tile');
|
goog.require('ol.layer.Tile');
|
||||||
goog.require('ol.layer.Vector');
|
goog.require('ol.layer.Vector');
|
||||||
@@ -38,6 +37,7 @@ var vector = new ol.layer.Vector({
|
|||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: [raster, vector],
|
layers: [raster, vector],
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: new ol.View({
|
view: new ol.View({
|
||||||
center: [-11000000, 4600000],
|
center: [-11000000, 4600000],
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=dynamic-data" type="text/javascript"></script>
|
<script src="loader.js?id=dynamic-data" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
|
goog.require('ol.Feature');
|
||||||
goog.require('ol.Map');
|
goog.require('ol.Map');
|
||||||
goog.require('ol.View');
|
goog.require('ol.View');
|
||||||
goog.require('ol.geom.MultiPoint');
|
goog.require('ol.geom.MultiPoint');
|
||||||
|
goog.require('ol.geom.Point');
|
||||||
goog.require('ol.layer.Tile');
|
goog.require('ol.layer.Tile');
|
||||||
goog.require('ol.source.MapQuest');
|
goog.require('ol.source.MapQuest');
|
||||||
goog.require('ol.style.Circle');
|
goog.require('ol.style.Circle');
|
||||||
goog.require('ol.style.Fill');
|
goog.require('ol.style.Fill');
|
||||||
goog.require('ol.style.Stroke');
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
@@ -14,6 +17,7 @@ var map = new ol.Map({
|
|||||||
source: new ol.source.MapQuest({layer: 'sat'})
|
source: new ol.source.MapQuest({layer: 'sat'})
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: new ol.View({
|
view: new ol.View({
|
||||||
center: [0, 0],
|
center: [0, 0],
|
||||||
@@ -28,6 +32,20 @@ var imageStyle = new ol.style.Circle({
|
|||||||
stroke: new ol.style.Stroke({color: 'red', width: 1})
|
stroke: new ol.style.Stroke({color: 'red', width: 1})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var headInnerImageStyle = new ol.style.Style({
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: 2,
|
||||||
|
snapToPixel: false,
|
||||||
|
fill: new ol.style.Fill({color: 'blue'})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
var headOuterImageStyle = new ol.style.Circle({
|
||||||
|
radius: 5,
|
||||||
|
snapToPixel: false,
|
||||||
|
fill: new ol.style.Fill({color: 'black'})
|
||||||
|
});
|
||||||
|
|
||||||
var n = 200;
|
var n = 200;
|
||||||
var omegaTheta = 30000; // Rotation period in ms
|
var omegaTheta = 30000; // Rotation period in ms
|
||||||
var R = 7e6;
|
var R = 7e6;
|
||||||
@@ -48,6 +66,14 @@ map.on('postcompose', function(event) {
|
|||||||
vectorContext.setImageStyle(imageStyle);
|
vectorContext.setImageStyle(imageStyle);
|
||||||
vectorContext.drawMultiPointGeometry(
|
vectorContext.drawMultiPointGeometry(
|
||||||
new ol.geom.MultiPoint(coordinates), null);
|
new ol.geom.MultiPoint(coordinates), null);
|
||||||
|
|
||||||
|
var headPoint = new ol.geom.Point(coordinates[coordinates.length - 1]);
|
||||||
|
var headFeature = new ol.Feature(headPoint);
|
||||||
|
vectorContext.drawFeature(headFeature, headInnerImageStyle);
|
||||||
|
|
||||||
|
vectorContext.setImageStyle(headOuterImageStyle);
|
||||||
|
vectorContext.drawMultiPointGeometry(headPoint, null);
|
||||||
|
|
||||||
map.render();
|
map.render();
|
||||||
});
|
});
|
||||||
map.render();
|
map.render();
|
||||||
|
|||||||
75
examples/earthquake-clusters.html
Normal file
75
examples/earthquake-clusters.html
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<title>Earthquake Clusters</title>
|
||||||
|
<style>
|
||||||
|
#map {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#info {
|
||||||
|
position: absolute;
|
||||||
|
height: 1px;
|
||||||
|
width: 1px;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
.tooltip.in {
|
||||||
|
opacity: 1;
|
||||||
|
filter: alpha(opacity=100);
|
||||||
|
}
|
||||||
|
.tooltip.top .tooltip-arrow {
|
||||||
|
border-top-color: white;
|
||||||
|
}
|
||||||
|
.tooltip-inner {
|
||||||
|
border: 2px solid white;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span12">
|
||||||
|
<h4 id="title">Earthquake Clusters</h4>
|
||||||
|
<p id="shortdesc">Demonstrates the use of style geometries to render source features of a cluster.</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>
|
||||||
|
This example parses a KML file and renders the features as clusters on a vector layer. The styling in this example is quite involved. Single earthquake locations (rendered as stars) have a size relative to their magnitude. Clusters have an opacity relative to the number of features in the cluster, and a size that represents the extent of the features that make up the cluster. When clicking or hovering on a cluster, the individual features that make up the cluster will be shown.
|
||||||
|
</p>
|
||||||
|
<p>To achieve this, we make heavy use of style functions and <code>ol.style.Style#geometry</code>. See the <a href="earthquake-clusters.js" target="_blank">earthquake-clusters.js source</a> to see how this is done.</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">KML, vector, style, geometry, cluster</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=earthquake-clusters" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
154
examples/earthquake-clusters.js
Normal file
154
examples/earthquake-clusters.js
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.extent');
|
||||||
|
goog.require('ol.interaction');
|
||||||
|
goog.require('ol.interaction.Select');
|
||||||
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.layer.Vector');
|
||||||
|
goog.require('ol.source.Cluster');
|
||||||
|
goog.require('ol.source.KML');
|
||||||
|
goog.require('ol.source.Stamen');
|
||||||
|
goog.require('ol.style.Circle');
|
||||||
|
goog.require('ol.style.Fill');
|
||||||
|
goog.require('ol.style.RegularShape');
|
||||||
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
goog.require('ol.style.Text');
|
||||||
|
|
||||||
|
|
||||||
|
var earthquakeFill = new ol.style.Fill({
|
||||||
|
color: 'rgba(255, 153, 0, 0.8)'
|
||||||
|
});
|
||||||
|
var earthquakeStroke = new ol.style.Stroke({
|
||||||
|
color: 'rgba(255, 204, 0, 0.2)',
|
||||||
|
width: 1
|
||||||
|
});
|
||||||
|
var textFill = new ol.style.Fill({
|
||||||
|
color: '#fff'
|
||||||
|
});
|
||||||
|
var textStroke = new ol.style.Stroke({
|
||||||
|
color: 'rgba(0, 0, 0, 0.6)',
|
||||||
|
width: 3
|
||||||
|
});
|
||||||
|
var invisibleFill = new ol.style.Fill({
|
||||||
|
color: 'rgba(255, 255, 255, 0.01)'
|
||||||
|
});
|
||||||
|
|
||||||
|
function createEarthquakeStyle(feature) {
|
||||||
|
// 2012_Earthquakes_Mag5.kml stores the magnitude of each earthquake in a
|
||||||
|
// standards-violating <magnitude> tag in each Placemark. We extract it
|
||||||
|
// from the Placemark's name instead.
|
||||||
|
var name = feature.get('name');
|
||||||
|
var magnitude = parseFloat(name.substr(2));
|
||||||
|
var radius = 5 + 20 * (magnitude - 5);
|
||||||
|
|
||||||
|
return new ol.style.Style({
|
||||||
|
geometry: feature.getGeometry(),
|
||||||
|
image: new ol.style.RegularShape({
|
||||||
|
radius1: radius,
|
||||||
|
radius2: 3,
|
||||||
|
points: 5,
|
||||||
|
angle: Math.PI,
|
||||||
|
fill: earthquakeFill,
|
||||||
|
stroke: earthquakeStroke
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var maxFeatureCount;
|
||||||
|
function calculateClusterInfo(resolution) {
|
||||||
|
maxFeatureCount = 0;
|
||||||
|
var features = vector.getSource().getFeatures();
|
||||||
|
var feature, radius;
|
||||||
|
for (var i = features.length - 1; i >= 0; --i) {
|
||||||
|
feature = features[i];
|
||||||
|
var originalFeatures = feature.get('features');
|
||||||
|
var extent = ol.extent.createEmpty();
|
||||||
|
for (var j = 0, jj = originalFeatures.length; j < jj; ++j) {
|
||||||
|
ol.extent.extend(extent, originalFeatures[j].getGeometry().getExtent());
|
||||||
|
}
|
||||||
|
maxFeatureCount = Math.max(maxFeatureCount, jj);
|
||||||
|
radius = 0.25 * (ol.extent.getWidth(extent) + ol.extent.getHeight(extent)) /
|
||||||
|
resolution;
|
||||||
|
feature.set('radius', radius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var currentResolution;
|
||||||
|
function styleFunction(feature, resolution) {
|
||||||
|
if (resolution != currentResolution) {
|
||||||
|
calculateClusterInfo(resolution);
|
||||||
|
currentResolution = resolution;
|
||||||
|
}
|
||||||
|
var style;
|
||||||
|
var size = feature.get('features').length;
|
||||||
|
if (size > 1) {
|
||||||
|
style = [new ol.style.Style({
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: feature.get('radius'),
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: [255, 153, 0, Math.min(0.8, 0.4 + (size / maxFeatureCount))]
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
text: new ol.style.Text({
|
||||||
|
text: size.toString(),
|
||||||
|
fill: textFill,
|
||||||
|
stroke: textStroke
|
||||||
|
})
|
||||||
|
})];
|
||||||
|
} else {
|
||||||
|
var originalFeature = feature.get('features')[0];
|
||||||
|
style = [createEarthquakeStyle(originalFeature)];
|
||||||
|
}
|
||||||
|
return style;
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectStyleFunction(feature, resolution) {
|
||||||
|
var styles = [new ol.style.Style({
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: feature.get('radius'),
|
||||||
|
fill: invisibleFill
|
||||||
|
})
|
||||||
|
})];
|
||||||
|
var originalFeatures = feature.get('features');
|
||||||
|
var originalFeature;
|
||||||
|
for (var i = originalFeatures.length - 1; i >= 0; --i) {
|
||||||
|
originalFeature = originalFeatures[i];
|
||||||
|
styles.push(createEarthquakeStyle(originalFeature));
|
||||||
|
}
|
||||||
|
return styles;
|
||||||
|
}
|
||||||
|
|
||||||
|
var vector = new ol.layer.Vector({
|
||||||
|
source: new ol.source.Cluster({
|
||||||
|
distance: 40,
|
||||||
|
source: new ol.source.KML({
|
||||||
|
extractStyles: false,
|
||||||
|
projection: 'EPSG:3857',
|
||||||
|
url: 'data/kml/2012_Earthquakes_Mag5.kml'
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
style: styleFunction
|
||||||
|
});
|
||||||
|
|
||||||
|
var raster = new ol.layer.Tile({
|
||||||
|
source: new ol.source.Stamen({
|
||||||
|
layer: 'toner'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
layers: [raster, vector],
|
||||||
|
interactions: ol.interaction.defaults().extend([new ol.interaction.Select({
|
||||||
|
condition: function(evt) {
|
||||||
|
return evt.originalEvent.type == 'mousemove' ||
|
||||||
|
evt.type == 'singleclick';
|
||||||
|
},
|
||||||
|
style: selectStyleFunction
|
||||||
|
})]),
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [0, 0],
|
||||||
|
zoom: 2
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=epsg-4326" type="text/javascript"></script>
|
<script src="loader.js?id=epsg-4326" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ goog.require('ol.source.TileWMS');
|
|||||||
var layers = [
|
var layers = [
|
||||||
new ol.layer.Tile({
|
new ol.layer.Tile({
|
||||||
source: new ol.source.TileWMS({
|
source: new ol.source.TileWMS({
|
||||||
url: 'http://demo.opengeo.org/geoserver/wms',
|
url: 'http://demo.boundlessgeo.com/geoserver/wms',
|
||||||
params: {
|
params: {
|
||||||
'LAYERS': 'ne:NE1_HR_LC_SR_W_DR'
|
'LAYERS': 'ne:NE1_HR_LC_SR_W_DR'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=export-map" type="text/javascript"></script>
|
<script src="loader.js?id=export-map" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,20 @@ goog.require('ol.Map');
|
|||||||
goog.require('ol.View');
|
goog.require('ol.View');
|
||||||
goog.require('ol.control');
|
goog.require('ol.control');
|
||||||
goog.require('ol.layer.Tile');
|
goog.require('ol.layer.Tile');
|
||||||
|
goog.require('ol.layer.Vector');
|
||||||
|
goog.require('ol.source.GeoJSON');
|
||||||
goog.require('ol.source.OSM');
|
goog.require('ol.source.OSM');
|
||||||
|
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
layers: [
|
layers: [
|
||||||
new ol.layer.Tile({
|
new ol.layer.Tile({
|
||||||
source: new ol.source.OSM()
|
source: new ol.source.OSM()
|
||||||
|
}),
|
||||||
|
new ol.layer.Vector({
|
||||||
|
source: new ol.source.GeoJSON({
|
||||||
|
projection: 'EPSG:3857',
|
||||||
|
url: 'data/geojson/countries.geojson'
|
||||||
|
})
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
target: 'map',
|
target: 'map',
|
||||||
|
|||||||
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=fractal" type="text/javascript"></script>
|
<script src="loader.js?id=fractal" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
.map:-webkit-full-screen {
|
.map:-webkit-full-screen {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.map:full-screen {
|
.map:fullscreen {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=full-screen-drag-rotate-and-zoom" type="text/javascript"></script>
|
<script src="loader.js?id=full-screen-drag-rotate-and-zoom" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
.map:-ms-fullscreen {
|
.map:-ms-fullscreen {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.map:full-screen {
|
.map:fullscreen {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.ol-rotate {
|
.ol-rotate {
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=full-screen" type="text/javascript"></script>
|
<script src="loader.js?id=full-screen" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=geojson" type="text/javascript"></script>
|
<script src="loader.js?id=geojson" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<button id="simulate">Simulate</button>
|
<button id="simulate">Simulate</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=geolocation-orientation" type="text/javascript"></script>
|
<script src="loader.js?id=geolocation-orientation" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ function simulatePositionChange(position) {
|
|||||||
'EPSG:3857');
|
'EPSG:3857');
|
||||||
geolocation.set('position', projectedPosition);
|
geolocation.set('position', projectedPosition);
|
||||||
geolocation.set('speed', coords.speed);
|
geolocation.set('speed', coords.speed);
|
||||||
geolocation.dispatchChangeEvent();
|
geolocation.changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
function disableButtons() {
|
function disableButtons() {
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=geolocation" type="text/javascript"></script>
|
<script src="loader.js?id=geolocation" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ goog.require('ol.dom.Input');
|
|||||||
goog.require('ol.geom.Point');
|
goog.require('ol.geom.Point');
|
||||||
goog.require('ol.layer.Tile');
|
goog.require('ol.layer.Tile');
|
||||||
goog.require('ol.source.OSM');
|
goog.require('ol.source.OSM');
|
||||||
|
goog.require('ol.style.Circle');
|
||||||
|
goog.require('ol.style.Fill');
|
||||||
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
var view = new ol.View({
|
var view = new ol.View({
|
||||||
center: [0, 0],
|
center: [0, 0],
|
||||||
@@ -57,6 +60,19 @@ var accuracyFeature = new ol.Feature();
|
|||||||
accuracyFeature.bindTo('geometry', geolocation, 'accuracyGeometry');
|
accuracyFeature.bindTo('geometry', geolocation, 'accuracyGeometry');
|
||||||
|
|
||||||
var positionFeature = new ol.Feature();
|
var positionFeature = new ol.Feature();
|
||||||
|
positionFeature.setStyle(new ol.style.Style({
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: 6,
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#3399CC'
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#fff',
|
||||||
|
width: 2
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
|
||||||
positionFeature.bindTo('geometry', geolocation, 'position')
|
positionFeature.bindTo('geometry', geolocation, 'position')
|
||||||
.transform(function() {}, function(coordinates) {
|
.transform(function() {}, function(coordinates) {
|
||||||
return coordinates ? new ol.geom.Point(coordinates) : null;
|
return coordinates ? new ol.geom.Point(coordinates) : null;
|
||||||
|
|||||||
@@ -35,9 +35,11 @@
|
|||||||
<h4 id="title">GetFeatureInfo example (image layer)</h4>
|
<h4 id="title">GetFeatureInfo example (image layer)</h4>
|
||||||
<p id="shortdesc">This example shows how to trigger WMS GetFeatureInfo requests on click for a WMS image layer.</p>
|
<p id="shortdesc">This example shows how to trigger WMS GetFeatureInfo requests on click for a WMS image layer.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
|
<p>Additionally <code>map.forEachLayerAtPixel</code> is used to change the mouse
|
||||||
|
pointer when hovering a non-transparent pixel on the map.</p>
|
||||||
<p>See the <a href="getfeatureinfo-image.js" target="_blank">getfeatureinfo-image.js source</a> to see how this is done.</p>
|
<p>See the <a href="getfeatureinfo-image.js" target="_blank">getfeatureinfo-image.js source</a> to see how this is done.</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tags">getfeatureinfo</div>
|
<div id="tags">getfeatureinfo, forEachLayerAtPixel</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="span4 offset4">
|
<div class="span4 offset4">
|
||||||
<div id="info" class="alert alert-success">
|
<div id="info" class="alert alert-success">
|
||||||
@@ -49,7 +51,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=getfeatureinfo-image" type="text/javascript"></script>
|
<script src="loader.js?id=getfeatureinfo-image" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,10 @@ goog.require('ol.source.ImageWMS');
|
|||||||
|
|
||||||
|
|
||||||
var wmsSource = new ol.source.ImageWMS({
|
var wmsSource = new ol.source.ImageWMS({
|
||||||
url: 'http://demo.opengeo.org/geoserver/wms',
|
url: 'http://demo.boundlessgeo.com/geoserver/wms',
|
||||||
params: {'LAYERS': 'ne:ne'},
|
params: {'LAYERS': 'ne:ne'},
|
||||||
serverType: 'geoserver'
|
serverType: 'geoserver',
|
||||||
|
crossOrigin: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
var wmsLayer = new ol.layer.Image({
|
var wmsLayer = new ol.layer.Image({
|
||||||
@@ -20,6 +21,7 @@ var view = new ol.View({
|
|||||||
});
|
});
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
layers: [wmsLayer],
|
layers: [wmsLayer],
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: view
|
view: view
|
||||||
@@ -36,3 +38,14 @@ map.on('singleclick', function(evt) {
|
|||||||
'<iframe seamless src="' + url + '"></iframe>';
|
'<iframe seamless src="' + url + '"></iframe>';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
|
var hit = map.forEachLayerAtPixel(pixel, function(layer) {
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
map.getTargetElement().style.cursor = hit ? 'pointer' : '';
|
||||||
|
});
|
||||||
|
|||||||
@@ -35,9 +35,11 @@
|
|||||||
<h4 id="title">WMS GetFeatureInfo example (tile layer)</h4>
|
<h4 id="title">WMS GetFeatureInfo example (tile layer)</h4>
|
||||||
<p id="shortdesc">This example shows how to trigger WMS GetFeatureInfo requests on click for a WMS tile layer.</p>
|
<p id="shortdesc">This example shows how to trigger WMS GetFeatureInfo requests on click for a WMS tile layer.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
|
<p>Additionally <code>map.forEachLayerAtPixel</code> is used to change the mouse
|
||||||
|
pointer when hovering a non-transparent pixel on the map.</p>
|
||||||
<p>See the <a href="getfeatureinfo-tile.js" target="_blank">getfeatureinfo-tile.js source</a> to see how this is done.</p>
|
<p>See the <a href="getfeatureinfo-tile.js" target="_blank">getfeatureinfo-tile.js source</a> to see how this is done.</p>
|
||||||
</div>
|
</div>
|
||||||
<div id="tags">getfeatureinfo</div>
|
<div id="tags">getfeatureinfo, forEachLayerAtPixel</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="span4 offset4">
|
<div class="span4 offset4">
|
||||||
<div id="info" class="alert alert-success">
|
<div id="info" class="alert alert-success">
|
||||||
@@ -49,7 +51,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=getfeatureinfo-tile" type="text/javascript"></script>
|
<script src="loader.js?id=getfeatureinfo-tile" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,10 @@ goog.require('ol.source.TileWMS');
|
|||||||
|
|
||||||
|
|
||||||
var wmsSource = new ol.source.TileWMS({
|
var wmsSource = new ol.source.TileWMS({
|
||||||
url: 'http://demo.opengeo.org/geoserver/wms',
|
url: 'http://demo.boundlessgeo.com/geoserver/wms',
|
||||||
params: {'LAYERS': 'ne:ne'},
|
params: {'LAYERS': 'ne:ne'},
|
||||||
serverType: 'geoserver'
|
serverType: 'geoserver',
|
||||||
|
crossOrigin: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
var wmsLayer = new ol.layer.Tile({
|
var wmsLayer = new ol.layer.Tile({
|
||||||
@@ -20,6 +21,7 @@ var view = new ol.View({
|
|||||||
});
|
});
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
layers: [wmsLayer],
|
layers: [wmsLayer],
|
||||||
target: 'map',
|
target: 'map',
|
||||||
view: view
|
view: view
|
||||||
@@ -36,3 +38,14 @@ map.on('singleclick', function(evt) {
|
|||||||
'<iframe seamless src="' + url + '"></iframe>';
|
'<iframe seamless src="' + url + '"></iframe>';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
|
var hit = map.forEachLayerAtPixel(pixel, function(layer) {
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
map.getTargetElement().style.cursor = hit ? 'pointer' : '';
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,67 +0,0 @@
|
|||||||
// NOCOMPILE
|
|
||||||
// This example uses the GMapx v3 API, which we do not have an exports file for.
|
|
||||||
goog.require('ol.Map');
|
|
||||||
goog.require('ol.View');
|
|
||||||
goog.require('ol.interaction');
|
|
||||||
goog.require('ol.interaction.DragPan');
|
|
||||||
goog.require('ol.layer.Vector');
|
|
||||||
goog.require('ol.proj');
|
|
||||||
goog.require('ol.source.GeoJSON');
|
|
||||||
goog.require('ol.style.Fill');
|
|
||||||
goog.require('ol.style.Stroke');
|
|
||||||
goog.require('ol.style.Style');
|
|
||||||
|
|
||||||
|
|
||||||
var gmap = new google.maps.Map(document.getElementById('gmap'), {
|
|
||||||
disableDefaultUI: true,
|
|
||||||
keyboardShortcuts: false,
|
|
||||||
draggable: false,
|
|
||||||
disableDoubleClickZoom: true,
|
|
||||||
scrollwheel: false,
|
|
||||||
streetViewControl: false
|
|
||||||
});
|
|
||||||
|
|
||||||
var view = new ol.View({
|
|
||||||
// make sure the view doesn't go beyond the 22 zoom levels of Google Maps
|
|
||||||
maxZoom: 21
|
|
||||||
});
|
|
||||||
view.on('change:center', function() {
|
|
||||||
var center = ol.proj.transform(view.getCenter(), 'EPSG:3857', 'EPSG:4326');
|
|
||||||
gmap.setCenter(new google.maps.LatLng(center[1], center[0]));
|
|
||||||
});
|
|
||||||
view.on('change:resolution', function() {
|
|
||||||
gmap.setZoom(view.getZoom());
|
|
||||||
});
|
|
||||||
|
|
||||||
var vector = new ol.layer.Vector({
|
|
||||||
source: new ol.source.GeoJSON({
|
|
||||||
url: 'data/geojson/countries.geojson',
|
|
||||||
projection: 'EPSG:3857'
|
|
||||||
}),
|
|
||||||
style: new ol.style.Style({
|
|
||||||
fill: new ol.style.Fill({
|
|
||||||
color: 'rgba(255, 255, 255, 0.6)'
|
|
||||||
}),
|
|
||||||
stroke: new ol.style.Stroke({
|
|
||||||
color: '#319FD3',
|
|
||||||
width: 1
|
|
||||||
})
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
var olMapDiv = document.getElementById('olmap');
|
|
||||||
var map = new ol.Map({
|
|
||||||
layers: [vector],
|
|
||||||
interactions: ol.interaction.defaults({
|
|
||||||
altShiftDragRotate: false,
|
|
||||||
dragPan: false,
|
|
||||||
rotate: false
|
|
||||||
}).extend([new ol.interaction.DragPan({kinetic: null})]),
|
|
||||||
target: olMapDiv,
|
|
||||||
view: view
|
|
||||||
});
|
|
||||||
view.setCenter([0, 0]);
|
|
||||||
view.setZoom(1);
|
|
||||||
|
|
||||||
olMapDiv.parentNode.removeChild(olMapDiv);
|
|
||||||
gmap.controls[google.maps.ControlPosition.TOP_LEFT].push(olMapDiv);
|
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=gpx" type="text/javascript"></script>
|
<script src="loader.js?id=gpx" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,10 @@ var displayFeatureInfo = function(pixel) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$(map.getViewport()).on('mousemove', function(evt) {
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var pixel = map.getEventPixel(evt.originalEvent);
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
displayFeatureInfo(pixel);
|
displayFeatureInfo(pixel);
|
||||||
});
|
});
|
||||||
@@ -96,7 +99,7 @@ map.on('click', function(evt) {
|
|||||||
|
|
||||||
var exportGPXElement = document.getElementById('export-gpx');
|
var exportGPXElement = document.getElementById('export-gpx');
|
||||||
if ('download' in exportGPXElement) {
|
if ('download' in exportGPXElement) {
|
||||||
var vectorSource = /** @type {ol.source.Vector} */ (vector.getSource());
|
var vectorSource = vector.getSource();
|
||||||
exportGPXElement.addEventListener('click', function(e) {
|
exportGPXElement.addEventListener('click', function(e) {
|
||||||
if (!exportGPXElement.href) {
|
if (!exportGPXElement.href) {
|
||||||
var features = [];
|
var features = [];
|
||||||
@@ -105,12 +108,10 @@ if ('download' in exportGPXElement) {
|
|||||||
clone.getGeometry().transform(projection, 'EPSG:4326');
|
clone.getGeometry().transform(projection, 'EPSG:4326');
|
||||||
features.push(clone);
|
features.push(clone);
|
||||||
});
|
});
|
||||||
var node = new ol.format.GPX().writeFeatures(features);
|
var string = new ol.format.GPX().writeFeatures(features);
|
||||||
var string = new XMLSerializer().serializeToString(
|
|
||||||
/** @type {Node} */ (node));
|
|
||||||
var base64 = exampleNS.strToBase64(string);
|
var base64 = exampleNS.strToBase64(string);
|
||||||
exportGPXElement.href =
|
exportGPXElement.href =
|
||||||
'data:gpx+xml;base64,' + base64;
|
'data:text/gpx+xml;base64,' + base64;
|
||||||
}
|
}
|
||||||
}, false);
|
}, false);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=graticule" type="text/javascript"></script>
|
<script src="loader.js?id=graticule" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
|
|
||||||
<div class="span12">
|
<div class="span8">
|
||||||
<h4 id="title">Earthquakes heatmap</h4>
|
<h4 id="title">Earthquakes heatmap</h4>
|
||||||
<p id="shortdesc">Demonstrates the use of a heatmap layer.</p>
|
<p id="shortdesc">Demonstrates the use of a heatmap layer.</p>
|
||||||
<div id="docs">
|
<div id="docs">
|
||||||
@@ -40,11 +40,20 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="tags">heatmap, kml, vector, style</div>
|
<div id="tags">heatmap, kml, vector, style</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="span4">
|
||||||
|
<form>
|
||||||
|
<label>radius size</label>
|
||||||
|
<input id="radius" type="range" min="1" max="50" step="1" value="5"/>
|
||||||
|
<label>blur size</label>
|
||||||
|
<input id="blur" type="range" min="1" max="50" step="1" value="15"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=heatmap-earthquakes" type="text/javascript"></script>
|
<script src="loader.js?id=heatmap-earthquakes" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ goog.require('ol.layer.Tile');
|
|||||||
goog.require('ol.source.KML');
|
goog.require('ol.source.KML');
|
||||||
goog.require('ol.source.Stamen');
|
goog.require('ol.source.Stamen');
|
||||||
|
|
||||||
|
var blur = $('#blur');
|
||||||
|
var radius = $('#radius');
|
||||||
|
|
||||||
var vector = new ol.layer.Heatmap({
|
var vector = new ol.layer.Heatmap({
|
||||||
source: new ol.source.KML({
|
source: new ol.source.KML({
|
||||||
@@ -12,7 +14,8 @@ var vector = new ol.layer.Heatmap({
|
|||||||
projection: 'EPSG:3857',
|
projection: 'EPSG:3857',
|
||||||
url: 'data/kml/2012_Earthquakes_Mag5.kml'
|
url: 'data/kml/2012_Earthquakes_Mag5.kml'
|
||||||
}),
|
}),
|
||||||
radius: 5
|
blur: parseInt(blur.val(), 10),
|
||||||
|
radius: parseInt(radius.val(), 10)
|
||||||
});
|
});
|
||||||
|
|
||||||
vector.getSource().on('addfeature', function(event) {
|
vector.getSource().on('addfeature', function(event) {
|
||||||
@@ -38,3 +41,12 @@ var map = new ol.Map({
|
|||||||
zoom: 2
|
zoom: 2
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
blur.on('input', function() {
|
||||||
|
vector.setBlur(parseInt(blur.val(), 10));
|
||||||
|
});
|
||||||
|
|
||||||
|
radius.on('input', function() {
|
||||||
|
vector.setRadius(parseInt(radius.val(), 10));
|
||||||
|
});
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=hue-saturation" type="text/javascript"></script>
|
<script src="loader.js?id=hue-saturation" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
58
examples/icon-sprite-webgl.html
Normal file
58
examples/icon-sprite-webgl.html
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<title>Icon sprites with WebGL example</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span8">
|
||||||
|
<h4 id="title">Icon sprite with WebGL example</h4>
|
||||||
|
<p id="shortdesc">Icon sprite with WebGL.</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>See the <a href="icon-sprite-webgl.js" target="_blank">icon-sprite-webgl.js source</a> to see how this is done.</p>
|
||||||
|
<p>In this example a sprite image is used for the icon styles. Using a sprite is required to get good performance with WebGL.</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">webgl, icon, sprite, vector, point</div>
|
||||||
|
</div>
|
||||||
|
<div class="span2 offset2">
|
||||||
|
<div id="info" class="alert alert-success">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=icon-sprite-webgl" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
142
examples/icon-sprite-webgl.js
Normal file
142
examples/icon-sprite-webgl.js
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
goog.require('ol.Feature');
|
||||||
|
goog.require('ol.FeatureOverlay');
|
||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.geom.Point');
|
||||||
|
goog.require('ol.layer.Vector');
|
||||||
|
goog.require('ol.source.Vector');
|
||||||
|
goog.require('ol.style.Icon');
|
||||||
|
goog.require('ol.style.Style');
|
||||||
|
|
||||||
|
|
||||||
|
var iconInfo = [{
|
||||||
|
offset: [0, 0],
|
||||||
|
opacity: 1.0,
|
||||||
|
rotateWithView: true,
|
||||||
|
rotation: 0.0,
|
||||||
|
scale: 1.0,
|
||||||
|
size: [55, 55]
|
||||||
|
}, {
|
||||||
|
offset: [110, 86],
|
||||||
|
opacity: 0.75,
|
||||||
|
rotateWithView: false,
|
||||||
|
rotation: Math.PI / 2.0,
|
||||||
|
scale: 1.25,
|
||||||
|
size: [55, 55]
|
||||||
|
}, {
|
||||||
|
offset: [55, 0],
|
||||||
|
opacity: 0.5,
|
||||||
|
rotateWithView: true,
|
||||||
|
rotation: Math.PI / 3.0,
|
||||||
|
scale: 1.5,
|
||||||
|
size: [55, 86]
|
||||||
|
}, {
|
||||||
|
offset: [212, 0],
|
||||||
|
opacity: 1.0,
|
||||||
|
rotateWithView: true,
|
||||||
|
rotation: 0.0,
|
||||||
|
scale: 1.0,
|
||||||
|
size: [44, 44]
|
||||||
|
}];
|
||||||
|
|
||||||
|
var i;
|
||||||
|
|
||||||
|
var iconCount = iconInfo.length;
|
||||||
|
var icons = new Array(iconCount);
|
||||||
|
for (i = 0; i < iconCount; ++i) {
|
||||||
|
var info = iconInfo[i];
|
||||||
|
icons[i] = new ol.style.Icon({
|
||||||
|
offset: info.offset,
|
||||||
|
opacity: info.opacity,
|
||||||
|
rotateWithView: info.rotateWithView,
|
||||||
|
rotation: info.rotation,
|
||||||
|
scale: info.scale,
|
||||||
|
size: info.size,
|
||||||
|
src: 'data/Butterfly.png'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var featureCount = 50000;
|
||||||
|
var features = new Array(featureCount);
|
||||||
|
var feature, geometry;
|
||||||
|
var e = 25000000;
|
||||||
|
for (i = 0; i < featureCount; ++i) {
|
||||||
|
geometry = new ol.geom.Point(
|
||||||
|
[2 * e * Math.random() - e, 2 * e * Math.random() - e]);
|
||||||
|
feature = new ol.Feature(geometry);
|
||||||
|
feature.setStyle(
|
||||||
|
new ol.style.Style({
|
||||||
|
image: icons[i % (iconCount - 1)]
|
||||||
|
})
|
||||||
|
);
|
||||||
|
features[i] = feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
var vectorSource = new ol.source.Vector({
|
||||||
|
features: features
|
||||||
|
});
|
||||||
|
var vector = new ol.layer.Vector({
|
||||||
|
source: vectorSource
|
||||||
|
});
|
||||||
|
|
||||||
|
// Use the "webgl" renderer by default.
|
||||||
|
var renderer = exampleNS.getRendererFromQueryString();
|
||||||
|
if (!renderer) {
|
||||||
|
renderer = 'webgl';
|
||||||
|
}
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
renderer: renderer,
|
||||||
|
layers: [vector],
|
||||||
|
target: document.getElementById('map'),
|
||||||
|
view: new ol.View({
|
||||||
|
center: [0, 0],
|
||||||
|
zoom: 5
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
var overlayFeatures = [];
|
||||||
|
for (i = 0; i < featureCount; i += 30) {
|
||||||
|
var clone = features[i].clone();
|
||||||
|
clone.setStyle(null);
|
||||||
|
overlayFeatures.push(clone);
|
||||||
|
}
|
||||||
|
|
||||||
|
var featureOverlay = new ol.FeatureOverlay({
|
||||||
|
map: map,
|
||||||
|
style: new ol.style.Style({
|
||||||
|
image: icons[iconCount - 1]
|
||||||
|
}),
|
||||||
|
features: overlayFeatures
|
||||||
|
});
|
||||||
|
|
||||||
|
map.on('click', function(evt) {
|
||||||
|
var info = document.getElementById('info');
|
||||||
|
info.innerHTML =
|
||||||
|
'Hold on a second, while I catch those butterflies for you ...';
|
||||||
|
|
||||||
|
window.setTimeout(function() {
|
||||||
|
var features = [];
|
||||||
|
map.forEachFeatureAtPixel(evt.pixel, function(feature, layer) {
|
||||||
|
features.push(features);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (features.length === 1) {
|
||||||
|
info.innerHTML = 'Got one butterfly';
|
||||||
|
} else if (features.length > 1) {
|
||||||
|
info.innerHTML = 'Got ' + features.length + ' butterflies';
|
||||||
|
} else {
|
||||||
|
info.innerHTML = 'Couldn\'t catch a single butterfly';
|
||||||
|
}
|
||||||
|
}, 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var pixel = map.getEventPixel(evt.originalEvent);
|
||||||
|
var hit = map.hasFeatureAtPixel(pixel);
|
||||||
|
map.getTarget().style.cursor = hit ? 'pointer' : '';
|
||||||
|
});
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
<script src="../resources/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=icon" type="text/javascript"></script>
|
<script src="loader.js?id=icon" type="text/javascript"></script>
|
||||||
|
|||||||
@@ -40,11 +40,13 @@ var vectorLayer = new ol.layer.Vector({
|
|||||||
|
|
||||||
var rasterLayer = new ol.layer.Tile({
|
var rasterLayer = new ol.layer.Tile({
|
||||||
source: new ol.source.TileJSON({
|
source: new ol.source.TileJSON({
|
||||||
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.jsonp'
|
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.jsonp',
|
||||||
|
crossOrigin: ''
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
var map = new ol.Map({
|
var map = new ol.Map({
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
layers: [rasterLayer, vectorLayer],
|
layers: [rasterLayer, vectorLayer],
|
||||||
target: document.getElementById('map'),
|
target: document.getElementById('map'),
|
||||||
view: new ol.View({
|
view: new ol.View({
|
||||||
@@ -84,14 +86,12 @@ map.on('click', function(evt) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// change mouse cursor when over marker
|
// change mouse cursor when over marker
|
||||||
$(map.getViewport()).on('mousemove', function(e) {
|
map.on('pointermove', function(e) {
|
||||||
var pixel = map.getEventPixel(e.originalEvent);
|
if (e.dragging) {
|
||||||
var hit = map.forEachFeatureAtPixel(pixel, function(feature, layer) {
|
$(element).popover('destroy');
|
||||||
return true;
|
return;
|
||||||
});
|
|
||||||
if (hit) {
|
|
||||||
map.getTarget().style.cursor = 'pointer';
|
|
||||||
} else {
|
|
||||||
map.getTarget().style.cursor = '';
|
|
||||||
}
|
}
|
||||||
|
var pixel = map.getEventPixel(e.originalEvent);
|
||||||
|
var hit = map.hasFeatureAtPixel(pixel);
|
||||||
|
map.getTarget().style.cursor = hit ? 'pointer' : '';
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=igc" type="text/javascript"></script>
|
<script src="loader.js?id=igc" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ var map = new ol.Map({
|
|||||||
html: 'All maps © ' +
|
html: 'All maps © ' +
|
||||||
'<a href="http://www.opencyclemap.org/">OpenCycleMap</a>'
|
'<a href="http://www.opencyclemap.org/">OpenCycleMap</a>'
|
||||||
}),
|
}),
|
||||||
ol.source.OSM.DATA_ATTRIBUTION
|
ol.source.OSM.ATTRIBUTION
|
||||||
],
|
],
|
||||||
url: 'http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'
|
url: 'http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'
|
||||||
})
|
})
|
||||||
@@ -126,7 +126,10 @@ var displaySnap = function(coordinate) {
|
|||||||
map.render();
|
map.render();
|
||||||
};
|
};
|
||||||
|
|
||||||
$(map.getViewport()).on('mousemove', function(evt) {
|
map.on('pointermove', function(evt) {
|
||||||
|
if (evt.dragging) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var coordinate = map.getEventCoordinate(evt.originalEvent);
|
var coordinate = map.getEventCoordinate(evt.originalEvent);
|
||||||
displaySnap(coordinate);
|
displaySnap(coordinate);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="jquery.min.js" type="text/javascript"></script>
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
<script src="loader.js?id=image-filter" type="text/javascript"></script>
|
<script src="loader.js?id=image-filter" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
79
examples/image-load-events.html
Normal file
79
examples/image-load-events.html
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||||
|
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
|
||||||
|
<link rel="stylesheet" href="../css/ol.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap.min.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/layout.css" type="text/css">
|
||||||
|
<link rel="stylesheet" href="../resources/bootstrap/css/bootstrap-responsive.min.css" type="text/css">
|
||||||
|
<title>Image load events example</title>
|
||||||
|
<style>
|
||||||
|
.map {
|
||||||
|
background: #E0ECED;
|
||||||
|
}
|
||||||
|
.wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#progress {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 2px;
|
||||||
|
background: rgba(0, 60, 136, 0.4);
|
||||||
|
width: 0;
|
||||||
|
transition: width 250ms;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="./"><img src="../resources/logo.png"> OpenLayers 3 Examples</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12 wrapper">
|
||||||
|
<div id="map" class="map"></div>
|
||||||
|
<div id="progress"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span12">
|
||||||
|
<h4 id="title">Image load events example</h4>
|
||||||
|
<p id="shortdesc">Example using image load events.</p>
|
||||||
|
<div id="docs">
|
||||||
|
<p>
|
||||||
|
Image sources fire events related to image loading. You can
|
||||||
|
listen for <code>imageloadstart</code>, <code>imageloadend</code>,
|
||||||
|
and <code>imageloaderror</code> type events to monitor image loading
|
||||||
|
progress. This example registers listeners for these events and
|
||||||
|
renders an image loading progress bar at the bottom of the map.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
See the <a href="image-load-events.js" target="_blank">image-load-events.js source</a>
|
||||||
|
for more detail on how this is done.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div id="tags">image, events, loading</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="../resources/jquery.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
|
||||||
|
<script src="loader.js?id=image-load-events" type="text/javascript"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
105
examples/image-load-events.js
Normal file
105
examples/image-load-events.js
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
goog.require('ol.Map');
|
||||||
|
goog.require('ol.View');
|
||||||
|
goog.require('ol.layer.Image');
|
||||||
|
goog.require('ol.source.ImageWMS');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Renders a progress bar.
|
||||||
|
* @param {Element} el The target element.
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
function Progress(el) {
|
||||||
|
this.el = el;
|
||||||
|
this.loading = 0;
|
||||||
|
this.loaded = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increment the count of loading tiles.
|
||||||
|
*/
|
||||||
|
Progress.prototype.addLoading = function() {
|
||||||
|
if (this.loading === 0) {
|
||||||
|
this.show();
|
||||||
|
}
|
||||||
|
++this.loading;
|
||||||
|
this.update();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increment the count of loaded tiles.
|
||||||
|
*/
|
||||||
|
Progress.prototype.addLoaded = function() {
|
||||||
|
setTimeout(function() {
|
||||||
|
++this.loaded;
|
||||||
|
this.update();
|
||||||
|
}.bind(this), 100);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the progress bar.
|
||||||
|
*/
|
||||||
|
Progress.prototype.update = function() {
|
||||||
|
var width = (this.loaded / this.loading * 100).toFixed(1) + '%';
|
||||||
|
this.el.style.width = width;
|
||||||
|
if (this.loading === this.loaded) {
|
||||||
|
this.loading = 0;
|
||||||
|
this.loaded = 0;
|
||||||
|
setTimeout(this.hide.bind(this), 500);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the progress bar.
|
||||||
|
*/
|
||||||
|
Progress.prototype.show = function() {
|
||||||
|
this.el.style.visibility = 'visible';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide the progress bar.
|
||||||
|
*/
|
||||||
|
Progress.prototype.hide = function() {
|
||||||
|
if (this.loading === this.loaded) {
|
||||||
|
this.el.style.visibility = 'hidden';
|
||||||
|
this.el.style.width = 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var progress = new Progress(document.getElementById('progress'));
|
||||||
|
|
||||||
|
var source = new ol.source.ImageWMS({
|
||||||
|
url: 'http://demo.boundlessgeo.com/geoserver/wms',
|
||||||
|
params: {'LAYERS': 'topp:states'},
|
||||||
|
serverType: 'geoserver'
|
||||||
|
});
|
||||||
|
|
||||||
|
source.on('imageloadstart', function(event) {
|
||||||
|
progress.addLoading();
|
||||||
|
});
|
||||||
|
|
||||||
|
source.on('imageloadend', function(event) {
|
||||||
|
progress.addLoaded();
|
||||||
|
});
|
||||||
|
source.on('imageloaderror', function(event) {
|
||||||
|
progress.addLoaded();
|
||||||
|
});
|
||||||
|
|
||||||
|
var map = new ol.Map({
|
||||||
|
logo: false,
|
||||||
|
layers: [
|
||||||
|
new ol.layer.Image({source: source})
|
||||||
|
],
|
||||||
|
renderer: exampleNS.getRendererFromQueryString(),
|
||||||
|
target: 'map',
|
||||||
|
view: new ol.View({
|
||||||
|
center: [-10997148, 4569099],
|
||||||
|
zoom: 4
|
||||||
|
})
|
||||||
|
});
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user