Compare commits

..

252 Commits

Author SHA1 Message Date
Tim Schaub
2b50734d0b Merge pull request #2839 from tschaub/publish
Dependency updates and new package name.
2014-10-14 14:44:01 -06:00
Tim Schaub
26006418a8 Package metadata 2014-10-14 14:32:58 -06:00
Tim Schaub
dd665c7e9e New package name and updated dependencies 2014-10-14 14:32:58 -06:00
Tim Schaub
9597a383e8 Merge pull request #2840 from tschaub/point-resolution
Fewer point resolution tests.
2014-10-14 14:29:50 -06:00
Tim Schaub
081f3689b1 Quarter the number of test cases to avoid timeout 2014-10-14 13:58:19 -06:00
Tim Schaub
8b3677967d Use getMetersPerUnit 2014-10-14 13:45:23 -06:00
Éric Lemoine
323886cdda Merge pull request #2836 from oterral/styles_prority
Give priority to feature's style instead of source's style
2014-10-14 20:53:28 +02:00
oterral
345c5c5eb7 Give priority to feature's style instead of source's style 2014-10-14 17:39:51 +02:00
Frédéric Junod
a121d4c568 Merge pull request #2834 from fredj/compiler_mode_name_doc
Use ADVANCED instead of ADVANCED_OPTIMIZATIONS
2014-10-14 14:12:36 +02:00
Frederic Junod
f277b5c9a5 Use ADVANCED instead of ADVANCED_OPTIMIZATIONS
ADVANCED_OPTIMIZATIONS is deprecated (but still accepted)
2014-10-14 14:01:31 +02:00
Tim Schaub
0a8c218b8a Merge pull request #2833 from tschaub/less-fuzzy
Avoid too many files open with graceful-fs@3.0.3.
2014-10-13 23:34:23 -06:00
Tim Schaub
edb28d6a47 A tiny bit more deterministic 2014-10-13 23:02:46 -06:00
Tim Schaub
c3c81caf4b Merge pull request #2829 from tschaub/slider
Zoom slider refactor.
2014-10-13 16:33:54 -06:00
Tim Schaub
d2bea2692c Renaming for clarity 2014-10-13 10:29:33 -06:00
Tim Schaub
c1afd513b7 Account for the thumb size when handling clicks 2014-10-13 10:13:50 -06:00
Tim Schaub
9dd5b611c7 Give container ol-control class and tidy css 2014-10-13 09:22:21 -06:00
Tim Schaub
26be3a5450 Example style update 2014-10-13 08:42:45 -06:00
Tim Schaub
b8369ad3f0 Allow thumb to range over the entire container size 2014-10-13 08:40:51 -06:00
Tim Schaub
6f20afeba9 Set interaction hint while dragging 2014-10-12 19:16:49 -06:00
Tim Schaub
d45283c55e Animate from the current resolution 2014-10-12 18:59:58 -06:00
Tim Schaub
164407bc83 (x - 1) * -1 == 1 - x 2014-10-12 18:21:27 -06:00
Tim Schaub
dc0ff2eee8 Merge pull request #2757 from tschaub/new-extent
Clear the canvas on layer extent changes.
2014-10-12 10:35:15 -06:00
Tim Schaub
6fdc35e379 Merge pull request #2796 from tschaub/lazy-size
Determine image size on load.
2014-10-12 10:31:46 -06:00
Éric Lemoine
4970d143b0 Merge pull request #2825 from elemoine/oli-olx
Change comments for examples_star_json build target
2014-10-12 12:59:15 +02:00
Éric Lemoine
141cd6853c Change comments for examples_star_json build target 2014-10-12 11:17:27 +02:00
Tim Schaub
e1ee3474bf Unregister listener 2014-10-11 18:49:12 -06:00
Tim Schaub
7129a08e0b Clear the canvas on layer extent changes 2014-10-11 18:22:18 -06:00
Tim Schaub
49796090fa Allow renderer to load the image 2014-10-11 18:16:14 -06:00
Tim Schaub
ede37f26f7 Let image resolution be calculated when the image loads 2014-10-11 18:08:48 -06:00
Tim Schaub
ddc3dbaa87 If image size is not provided, determine resolution on load 2014-10-11 18:08:48 -06:00
Tim Schaub
63f126a528 The imageExtent option is required 2014-10-11 18:08:48 -06:00
Éric Lemoine
389d36e4bd Merge pull request #2822 from gingerik/externs-as-source
Remove obsolete comment
2014-10-11 11:43:33 +02:00
Erik Timmers
6cf5f204c5 Add explanation on using externs as input 2014-10-11 10:35:20 +02:00
Éric Lemoine
d6afca38c2 Use oli/x.js as input files when compiling examples 2014-10-11 09:04:49 +02:00
Éric Lemoine
4c63609749 Merge pull request #2769 from adube/overviewmap
OverviewMap control
2014-10-09 19:33:45 +02:00
Éric Lemoine
1357ef295e Merge pull request #2820 from oterral/labelstyle
Add parsing of LabelStyle in KML format
2014-10-09 19:02:27 +02:00
oterral
9aeb9849fb Add parsing of LabelStyle in KML format 2014-10-09 16:48:49 +02:00
Alexandre Dubé
efbeba3bb9 Add overviewmap-custom example, complex use case 2014-10-09 10:10:47 -04:00
Alexandre Dubé
f17bb1a852 Add overviewmap example, simple use case 2014-10-09 10:10:27 -04:00
Alexandre Dubé
ddc6138dbf Add OverviewMap control 2014-10-09 10:10:14 -04:00
Éric Lemoine
5c514b36dd Merge pull request #2819 from elemoine/xyz-esri
Improvements to the xyz-esri-4326-512 example
2014-10-09 13:59:34 +02:00
Éric Lemoine
8067bc3863 Show how to wrap world in xyz-esri-4326-512 example 2014-10-09 13:35:51 +02:00
Éric Lemoine
efd2357d5b Fix typo in xyz-esri-4326-512 example 2014-10-09 13:21:24 +02:00
Éric Lemoine
c69974f460 Add more explanations to xyz-esri-4326-512 example 2014-10-09 13:20:51 +02:00
Éric Lemoine
c1259aacab Merge pull request #2743 from elemoine/drawinteraction
Handle ol.interaction.Draw activation/deactivation
2014-10-08 16:01:10 +02:00
Andreas Hocevar
27160be639 Merge pull request #2816 from gberaudo/exit_on_check_examples_failure
Exit on check-examples failure
2014-10-08 15:18:37 +02:00
Éric Lemoine
d1973a040f Merge pull request #2794 from elemoine/unbykey
Add ol.Observable.unByKey
2014-10-08 15:14:12 +02:00
Guillaume Beraudo
5adcaa3487 Exit on check-examples failure
Should avoid Travis to pass even though there are errors.

Waiting for the check-examples to finish to get all the errors.
It may also be necessary in order to free system resources like file
descriptors.
2014-10-08 14:46:42 +02:00
Éric Lemoine
b832c42585 Add ol.Observable.unByKey 2014-10-08 14:41:45 +02:00
Frédéric Junod
0858017085 Merge pull request #2815 from fredj/leftover-2756
Fix jquery.min.js path in xyz-esri-4326-512 example
2014-10-08 14:33:42 +02:00
Frederic Junod
bb1f51e5f0 Fix jquery.min.js path in xyz-esri-4326-512 example 2014-10-08 14:27:21 +02:00
Bart van den Eijnden
19cba46b38 Merge pull request #2756 from bartvde/ESRI_Imagery_World_2D
Add an example for using an Esri 512x512 tile server in EPSG:4326 (r=@elemoine)
2014-10-08 13:44:12 +02:00
Bart van den Eijnden
2321ed64bc Add an example for using an Esri 512x512 tile server in EPSG:4326 2014-10-08 13:31:45 +02:00
Frédéric Junod
1f098633e2 Merge pull request #2814 from fredj/css-calc
Add missing whitespaces in CSS calc
2014-10-08 10:52:36 +02:00
Frederic Junod
2139e4455a Add missing whitespaces in CSS calc
See http://dev.w3.org/csswg/css-values/#calc-syntax
2014-10-08 10:40:27 +02:00
Frédéric Junod
3dcba3bf15 Merge pull request #2811 from fredj/leftover-2810
Remove defaultProjection and object from typedef
2014-10-07 16:24:21 +02:00
Frederic Junod
31bb1ada0a Remove defaultProjection and object from typedef
Leftover from #2810
2014-10-07 16:03:07 +02:00
Frédéric Junod
9d1101c727 Merge pull request #2779 from fredj/resources
Update jQuery to 1.9.1
2014-10-07 15:58:28 +02:00
Paul Spencer
8c41e6c720 Merge pull request #2810 from pagameba/patch-1
Remove unused properties from olx.source.TileVectorOptions
2014-10-07 09:47:12 -04:00
Paul Spencer
816cb44cc2 Remove unused properties from olx.source.TileVectorOptions 2014-10-07 09:25:29 -04:00
Frédéric Junod
352d7071f7 Merge pull request #2808 from fredj/reprojectTo
Remove reprojectTo option from olx.source.OSMXMLOptions
2014-10-07 13:50:33 +02:00
Frédéric Junod
44c300bfef Merge pull request #2809 from fredj/button-cleanup
Miscellaneous controls cleanups
2014-10-07 13:37:27 +02:00
Frederic Junod
be6c6ee93c Remove unused ResetRotation name attribute 2014-10-07 12:25:41 +02:00
Frederic Junod
0cf83c2047 Add missing 'button' type attribute to html button 2014-10-07 12:25:01 +02:00
Frederic Junod
ec129f5778 Rename reprojectTo option to projection 2014-10-07 11:41:59 +02:00
Frederic Junod
4c1d2f8c86 Remove reprojectTo option from olx.source.OSMXMLOptions
Leftover from #1640
2014-10-07 10:41:32 +02:00
Éric Lemoine
90fb83b95e Merge pull request #2805 from sweco-sebhar/patch-2
Enable subclassing Interaction in public API
2014-10-07 09:30:28 +02:00
Björn Harrtell
59cc2ac736 Enable subclassing Interaction in public API 2014-10-07 09:15:25 +02:00
Frédéric Junod
ee4ca5bd2c Merge pull request #2798 from fredj/update-closure-util
Update closure-util to version 1.0.0
2014-10-06 18:29:57 +02:00
Andreas Hocevar
6b437701a8 Merge pull request #2785 from ahocevar/export-goog
Use goog.* types in externs
2014-10-06 16:50:02 +02:00
Andreas Hocevar
66234a73ba Use goog.* types in externs
To have an externs file as accurate as possible, we also need to use
types that are provided by the Closure library.
2014-10-06 14:20:59 +02:00
Frederic Junod
04e7a81b1e Update closure-util to version 1.0.0 2014-10-06 13:42:34 +02:00
Éric Lemoine
fa30ba29c9 Merge pull request #2795 from gingerik/externs
Externs
2014-10-03 17:16:43 +02:00
Pierre GIRAUD
a1c3d57013 Merge pull request #2792 from pgiraud/gpx_export_chrome
Use valid mediatype for GPX export.
2014-10-03 13:50:32 +02:00
Pierre GIRAUD
8f6b49877f Use valid mediatype for GPX export. 2014-10-03 11:30:44 +02:00
Marc Jansen
6a1d143f9f Merge pull request #2784 from marcjansen/tag-kml-example
Add 'tooltip'-tag to KML example.
2014-10-02 10:23:58 +02:00
Frédéric Junod
24484d5e51 Merge pull request #2782 from fredj/hide-rotate
Hide the rotate control when the rotation is 0
2014-10-01 20:47:19 +02:00
Marc Jansen
46db263088 Add 'tooltip'-tag to KML example.
Fixes #2708.
2014-10-01 20:35:21 +02:00
Frederic Junod
6f3b01f3dc Hide the rotate control when the rotation is 0
To prevent the cursor to be displayed as a pointer (only happens with bootstrap)
2014-10-01 19:09:14 +02:00
Erik Timmers
b321501476 Fix namespacing convention 2014-10-01 17:57:53 +02:00
Erik Timmers
b447e1f766 Fix ol externs definitions
* Namespaces must be defined;
* Interfaces must be initialized.
2014-10-01 17:52:01 +02:00
Frederic Junod
898f5ac547 Update jquery to 1.9.1 2014-10-01 10:05:06 +02:00
Frederic Junod
078ba2dec0 Move jquery.min.js to resources 2014-10-01 09:59:20 +02:00
Frederic Junod
fa60ec294e Remove 'examples/bootstrap' path from example filter
The directory was moved to resources/bootstrap in 6c5377eebe
2014-10-01 09:50:29 +02:00
Frédéric Junod
7273b501f1 Merge pull request #2774 from fredj/dead-code
Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown
2014-10-01 09:10:42 +02:00
Tim Schaub
0acf9662a4 Merge pull request #2771 from tschaub/pre-releases
Allow package to be published in npm registry.
2014-09-30 22:51:06 -06:00
Frederic Junod
a3b3e044f5 Remove unused distinctFeatures object in ol.interaction.Modify#handlePointerDown
The object is filled but never used.
2014-09-30 15:08:15 +02:00
Éric Lemoine
6c7a6a7811 Merge pull request #2773 from elemoine/getimage
Type-related changes to ol.style.Image
2014-09-30 13:51:01 +02:00
Éric Lemoine
ddbc1d260c Mark ol.style.Image#getImage with @api 2014-09-30 12:26:07 +02:00
Éric Lemoine
af7944ef42 Mark ol.style.Image with @api
This is to be able to do `imageStyle instanceof ol.style.Image` in applications.
2014-09-30 12:26:06 +02:00
Éric Lemoine
4c0bfd8905 More restrictive type for ol.style.Icon#getImage 2014-09-30 12:26:06 +02:00
Éric Lemoine
c7ac9502bd More restrictive type for ol.style.Circle#getImage 2014-09-30 12:26:06 +02:00
Éric Lemoine
1c7f2ad5cc Merge pull request #2751 from gberaudo/export-source_source_children
Export constructors and options of ol.source.Source children
2014-09-30 11:55:21 +02:00
Éric Lemoine
1a856599cb Add tests for ol.interaction.Draw#setMap 2014-09-30 10:00:53 +02:00
Éric Lemoine
a31f8a9446 Add tests for ol.interaction.Draw#setActive 2014-09-30 10:00:53 +02:00
Éric Lemoine
eb4e72c754 Handle activation/deactivation in draw interaction 2014-09-30 10:00:52 +02:00
Guillaume Beraudo
67f4e9c817 Export constructors of ol.source.Source children
Necessary addition to https://github.com/openlayers/ol3/pull/2749.
2014-09-30 09:33:55 +02:00
Frédéric Junod
c0fc220298 Merge pull request #2772 from fredj/changefeature
Rename updatefeature event to changefeature
2014-09-30 09:27:58 +02:00
Éric Lemoine
0e3b08d493 Merge pull request #2766 from elemoine/interaction-object
Make interaction "active" an ol.Object property
2014-09-30 09:04:28 +02:00
Éric Lemoine
5d02760d23 Merge pull request #2765 from elemoine/ol-externs
Treat unknown opt types as Object in ol externs
2014-09-30 09:04:18 +02:00
Frederic Junod
cf8738f9f6 Rename updatefeature event to changefeature 2014-09-30 09:02:53 +02:00
Tim Schaub
c868e4bbdd Allow package to be published in npm registry
I've contacted the maintainer of the https://www.npmjs.org/package/openlayers package to see if we can take over ownership.  Until then, we can publish packages under the name 'ol'.
2014-09-29 22:27:27 -06:00
Tim Schaub
3285e0ddc8 Merge pull request #2759 from tschaub/test-failures
Fix test failures.
2014-09-29 14:09:03 -06:00
Tim Schaub
b6c6dc03a9 Merge pull request #2762 from tschaub/console-report
Report test failures to the console.
2014-09-29 14:07:55 -06:00
Tim Schaub
62c0dbb876 Merge pull request #2768 from xamgreen/patch-1
Write the function name correctly in the doc.
2014-09-29 14:05:28 -06:00
xamgreen
704d53e589 getProjektion() instead of getprojektion()
Just a little error that my confuse some people.
2014-09-29 20:01:47 +02:00
Éric Lemoine
4643c71e75 Treat unknown opt types as Object in ol externs 2014-09-29 17:58:04 +02:00
Éric Lemoine
dede4f379f Make interaction "active" an ol.Object property 2014-09-29 17:31:58 +02:00
Frédéric Junod
1a4d841a26 Merge pull request #2764 from fredj/remove-rtree-example
Remove rtree example
2014-09-29 14:37:41 +02:00
Frederic Junod
ced15e27c1 Remove rtree example
Fixes #2732
2014-09-29 13:29:52 +02:00
Frédéric Junod
14e8c098c8 Merge pull request #2763 from fredj/cleanup
Miscellaneous coding style and typo fixes
2014-09-29 11:45:14 +02:00
Frederic Junod
98ceee5d28 Fix documentation typo 2014-09-29 09:05:22 +02:00
Frederic Junod
aaeb2b6938 Remove unnecessary parentheses 2014-09-29 09:05:22 +02:00
Frederic Junod
6e3a5ca7ca Remove unnecessary newlines 2014-09-29 09:05:22 +02:00
Tim Schaub
291b033dbf Report failures to the console 2014-09-28 22:27:07 -06:00
Tim Schaub
8bded032df Fix failing GML format test 2014-09-28 15:04:54 -06:00
Tim Schaub
a1bb755123 Fix failing KML format tests 2014-09-28 15:04:49 -06:00
Tim Schaub
abc7848073 Fix failing WKT format tests 2014-09-28 14:44:26 -06:00
Tim Schaub
afd43687f2 Merge pull request #2758 from tschaub/tile-ranges
Correctly generate child tile ranges for XYZ tiles.
2014-09-28 13:40:28 -06:00
Tim Schaub
2ad27044a6 Correctly generate child tile ranges for XYZ
Instead of incrementing and then doubling, calculate the child tile range by doubling and then incrementing.

With this change, tile coord [0, 0, 0] has the four following children:

    [1, 0, 0]    [1, 1, 0]

    [1, 0, 1]    [1, 1, 1]

Without this change, tile coord [0, 0, 0] had the nine following children:

    [1, 0, 0]    [1, 1, 0]    [1, 2, 0]

    [1, 0, 1]    [1, 1, 1]    [1, 2, 1]

    [1, 0, 2]    [1, 1, 2]    [1, 2, 2]
2014-09-28 12:23:12 -06:00
Éric Lemoine
b0b62c6ac3 Merge pull request #2734 from elemoine/bingmaps
Add maxZoom option to BingMaps
2014-09-27 22:34:06 +02:00
Éric Lemoine
00800785d4 Merge pull request #2752 from elemoine/loadfeatures
Call loadFeatures from ol.source.ImageVector
2014-09-25 15:00:52 +02:00
Frédéric Junod
5f51fbc93d Merge pull request #2658 from oterral/fix_getcap
Set inherited values when parsing a GetCapabilities
2014-09-25 13:51:40 +02:00
Frédéric Junod
884fb5736c Merge pull request #2750 from fredj/export-layer-base
Export ol.layer.Base
2014-09-25 10:58:04 +02:00
Frédéric Junod
9fd0b53b02 Merge pull request #2749 from fredj/export-source-source
Export ol.source.Source
2014-09-25 10:42:08 +02:00
Frederic Junod
48b9475bb6 Export ol.layer.Base
See #2615
2014-09-25 10:40:03 +02:00
Frederic Junod
4e5120ff71 Export ol.source.Source
Fixes #2615
2014-09-25 10:33:31 +02:00
Frédéric Junod
aafe50c30e Merge pull request #2742 from fredj/updatefeature
Dispatch an 'updatefeature' from the vector source
2014-09-25 09:20:15 +02:00
Tim Schaub
b1ca9a4fc0 Merge pull request #2747 from lazaruslarue/patch-2
Fix incorrect web address.
2014-09-24 16:36:52 -06:00
lazarus
0f81a994fe Fix incorrect webaddress
was pointing to Jewish Studies Religious website... fixed to correctly point to ol3js.org instead.
2014-09-24 14:30:21 -07:00
Bart van den Eijnden
1f5ca28596 Merge pull request #2745 from bartvde/issue-2745
DragBox Interaction: getGeometry return type can be ol.geom.Polygon (r=@fredj)
2014-09-24 12:46:04 +02:00
Bart van den Eijnden
0145c4fb5f The getGeometry function of ol.interaction.DragBox always returns ol.geom.Polygon 2014-09-24 11:57:36 +02:00
Frédéric Junod
d03755859f Merge pull request #2744 from fredj/feature-id-change
Fix ol.Feature 'change' event documentation
2014-09-24 09:35:14 +02:00
Frederic Junod
1dcde66839 Fix ol.Feature 'change' event documentation
Setting the id also dispatch a `change` event
2014-09-23 17:40:46 +02:00
Frederic Junod
79b8ef3a53 Dispatch an 'updatefeature' from the vector source 2014-09-23 16:19:00 +02:00
Bart van den Eijnden
b8d8acd3fd Merge pull request #2741 from bartvde/issue-2741
issue with reading scientific notation coordinates in ol.format.GML (r=@fredj)
2014-09-23 16:17:36 +02:00
Bart van den Eijnden
2e18f077c8 Correctly parse GML coordinates with capital E in scientific notation 2014-09-23 15:35:12 +02:00
Éric Lemoine
fb01814384 Merge pull request #2739 from elemoine/circular
Revert "Function circular renamed to createCircularOnSphere"
2014-09-23 14:47:13 +02:00
Frédéric Junod
7dcb54fb58 Merge pull request #2616 from fredj/attributions-target
Target for attribution links differs between maps
2014-09-23 14:46:11 +02:00
Éric Lemoine
69877de0d0 Merge pull request #2740 from elemoine/setgetactive
Make interactions activable and deactivable
2014-09-23 13:41:37 +02:00
Éric Lemoine
2248d2e012 Skip inactive interactions 2014-09-23 12:37:53 +02:00
Éric Lemoine
de319b9ae8 Add ol.interaction.Interaction#setActive and #getActive 2014-09-23 12:37:53 +02:00
Éric Lemoine
6b2a703b35 Use ol.geom.Polygon.circular in ol.Geolocation 2014-09-23 09:43:13 +02:00
Éric Lemoine
a94f02e463 Revert "Function circular renamed to createCircularOnSphere"
This reverts commit ac8e7e16c2.
2014-09-23 09:41:03 +02:00
Éric Lemoine
f8702e2038 Call loadFeatures from ol.source.ImageVector 2014-09-23 09:36:00 +02:00
Éric Lemoine
23e597eb25 Add maxZoom option to BingMaps 2014-09-22 15:22:31 +02:00
Éric Lemoine
04f5768c76 Merge pull request #2727 from elemoine/createcircular
Rename ol.geom.Polygon#circular to createCircularOnSphere
2014-09-19 11:13:54 +02:00
Éric Lemoine
49a2f2c926 Merge pull request #2730 from elemoine/tolowercase
Do not call toLowerCase when forming a change:property event
2014-09-19 11:07:17 +02:00
Éric Lemoine
ad83f83f2c To do call toLowerCase when forming a change:property event 2014-09-18 18:44:45 +02:00
Tim Schaub
9da909dd57 Merge pull request #2728 from tschaub/exports
Mark `ol.extent.getIntersection` as stable.
2014-09-18 07:11:44 -06:00
Éric Lemoine
d85d34f3dd Better docs for ol.geom.Polygon#createCircularSphere 2014-09-18 08:48:05 +02:00
Éric Lemoine
122b535393 Better docs for ol.Sphere#offset 2014-09-17 20:22:18 +02:00
Éric Lemoine
5416badde1 Merge pull request #2726 from elemoine/feature-setstyle
Make ol.Feature#setStyle accept null
2014-09-17 19:56:28 +02:00
Tim Schaub
9f1bdc7c83 Mark ol.extent.getIntersection as stable 2014-09-17 11:24:54 -06:00
Éric Lemoine
ac8e7e16c2 Function circular renamed to createCircularOnSphere 2014-09-17 17:59:46 +02:00
Éric Lemoine
d335318496 Make ol.Feature#setStyle accept null 2014-09-17 17:52:51 +02:00
Frédéric Junod
5eaafc5936 Merge pull request #2724 from fredj/examples-unknownDefines
Error when compiling individual example
2014-09-17 16:25:58 +02:00
Frederic Junod
7ba7a61bb8 Disable unknownDefines check when compiling individual examples 2014-09-17 16:11:15 +02:00
Éric Lemoine
dfb2734368 Merge pull request #1959 from elemoine/feature-box-selection
Add a feature box selection example
2014-09-17 15:02:23 +02:00
Éric Lemoine
6a450f45e1 Merge pull request #2722 from elemoine/nullview
Make ol.Map#setView do not accept undefined
2014-09-17 15:01:41 +02:00
Éric Lemoine
f7e81f84db Zoom control should not act on a null view 2014-09-17 13:32:45 +02:00
Éric Lemoine
79932ee2f2 Rotate control should not act on a null view 2014-09-17 13:32:31 +02:00
Éric Lemoine
8660f00917 Do not exec animation functions when frameState is null 2014-09-17 12:49:46 +02:00
Éric Lemoine
72e173d925 Rename ol.extent.segmentIntersects to intersectsSegment 2014-09-17 12:26:26 +02:00
Éric Lemoine
79445e993b Add a box feature selection example 2014-09-17 12:26:26 +02:00
Éric Lemoine
227f3bae18 Add ol.source.Vector#forEachFeatureIntersectingExtent 2014-09-17 12:26:26 +02:00
Éric Lemoine
88911200c2 Add ol.geom.GeometryCollection#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
92c2aca480 Add ol.geom.MultiLineString#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
8d7cf7960a Add ol.geom.LineString#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
d1f6f132d6 Add ol.geom.MultiPolygon#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
8bdeca9f0a Add ol.geom.Polygon#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
67f98145bb Add ol.geom.MultiPoint#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
612cf70560 Add ol.geom.Point#intersectsExtent 2014-09-17 12:17:32 +02:00
Éric Lemoine
a740f32e4d Add ol.geom.Geometry#intersectsExtent (abstract method) 2014-09-17 12:17:32 +02:00
Éric Lemoine
cdbc1a07be Add ol.geom.flat.intersectsextent
Includes functions for testing if an extent and a geometry intersect.
2014-09-17 12:17:31 +02:00
Éric Lemoine
49fa7c01d4 Add ol.geom.flat.contains.linearRingContainsExtent 2014-09-17 12:17:31 +02:00
Éric Lemoine
3ce6229d34 Add ol.geom.flat.segments.forEach 2014-09-17 12:17:31 +02:00
Éric Lemoine
24321f6feb Add ol.extent.containsXY 2014-09-17 12:17:31 +02:00
Éric Lemoine
b5db9db453 Add ol.extent.forEachCorner 2014-09-17 12:17:31 +02:00
Éric Lemoine
cb8b896230 Make ol.Map#setView do not accept undefined
With this change map.setView(null) is permitted, but map.setView(undefined) is not. map.getView now always returns a defined value, which may be null is setView was called with null.
2014-09-17 11:47:24 +02:00
Frederic Junod
0938ab654a Remove target attribute on attributions link 2014-09-17 11:26:15 +02:00
Éric Lemoine
163cc5b873 Merge pull request #2696 from gberaudo/consistent_circle_transform
Consistent circle transform.
2014-09-16 14:39:17 +02:00
Guillaume Beraudo
d67cefdf3a Consistent circle transform
Depending on compilation flags, applying a transform used to either:
- work;
- fail throwing an abstract method not implemented message;
- fail silently.

Now it should consistently work, like the other geometries.

Adding a polygon factory method creating an approximation of a circle on
a plane would be useful for users wanting the circle to be deformed.
It would be similar to the `circular` function which creates an
approximation of a circle on a sphere.
2014-09-16 13:41:17 +02:00
Frédéric Junod
8e2cc7e3db Merge pull request #2717 from fredj/rotate-css
Change the control visibility by using css class
2014-09-16 13:29:58 +02:00
Frederic Junod
e136b4b4db Change the control visibility by using css class
Instead of changing the button opacity in the control, only add/remove
a css class (ol-hidden). This let the developer easily change the
behavior by updating the css.
2014-09-16 11:00:44 +02:00
Éric Lemoine
7e502ac477 Merge pull request #2715 from elemoine/tissot
Add an EPSG:3857 map to Tissot example
2014-09-15 19:44:31 +02:00
Éric Lemoine
83ded37cbc Add an EPSG:3857 map to Tissot example 2014-09-15 18:19:10 +02:00
Frédéric Junod
0b43183616 Merge pull request #2714 from fredj/opacity
Set the opacity directly to element.style.opacity
2014-09-15 17:13:50 +02:00
Frederic Junod
ec9386acfe Set the opacity directly to element.style.opacity
goog.style.setOpacity handles the IE8 case (but we are doing the same
above in the same function) and Firefox prior to version 3.5 (latest
stable release in April 2011).

See https://developer.mozilla.org/en-US/docs/Web/CSS/opacity
2014-09-15 16:01:24 +02:00
Frédéric Junod
8bf43f5f22 Merge pull request #2647 from fredj/closure-lib-upgrade
Upgrade closure library version
2014-09-15 14:36:17 +02:00
Frédéric Junod
007fc34a23 Merge pull request #2549 from fredj/assume-array-native
Use goog.array.ASSUME_NATIVE_FUNCTIONS define
2014-09-15 13:28:14 +02:00
Éric Lemoine
2c37a99332 Merge pull request #2711 from elemoine/remove-gmaps-example
Remove Google Maps example
2014-09-12 14:01:37 -07:00
Éric Lemoine
1bc650a19c Remove Google Maps example 2014-09-12 18:41:33 +02:00
Andreas Hocevar
b431487435 Merge pull request #2684 from ahocevar/notify-change
Rename ol.Observable#dispatchChangeEvent() to #changed()
2014-09-11 15:51:22 -07:00
Andreas Hocevar
3da9a67162 Merge pull request #2678 from ahocevar/mutable-styles
Mutable symbolizer properties for styles
2014-09-11 13:14:43 -07:00
Andreas Hocevar
267a950435 Mention the need to re-render in a single place only 2014-09-11 13:13:17 -07:00
Bart van den Eijnden
b86cb1f7b5 Merge pull request #2568 from bartvde/gml-autoconfigure
re-implement auto-configure code for ol.format.GML (r=@ahocevar)
2014-09-11 20:47:24 +02:00
Bart van den Eijnden
19319356d7 Auto configure ol.format.GML if not configured with a featureNS/featureType 2014-09-11 20:03:02 +02:00
Marc Jansen
dfa6a7c497 Merge pull request #2704 from gberaudo/pooled_example_checks
Use pool thread for calling bin/check-example.js.
2014-09-11 17:35:26 +02:00
Frederic Junod
fb87c22359 Set goog.array.ASSUME_NATIVE_FUNCTIONS to true 2014-09-11 13:24:13 +02:00
Guillaume Beraudo
590486fa72 Use pool thread for calling bin/check-example.js.
Saves 50s out of 60s on my machine, that is 83%.
Fixes https://github.com/openlayers/ol3/issues/2695
2014-09-11 09:30:44 +02:00
Andreas Hocevar
593532cb5a Merge pull request #2698 from ahocevar/feature-not-abstract
StaticVector is not an abstract base class
2014-09-10 08:03:15 -07:00
Frédéric Junod
be7ee49701 Merge pull request #2702 from fredj/export-map
Add vector layer in export-map example
2014-09-10 09:48:32 +02:00
Frederic Junod
1ae3e2a7f4 Add vector layer in export-map example 2014-09-10 09:06:51 +02:00
Andreas Hocevar
6eda02f208 StaticVector is not an abstract base class 2014-09-09 13:44:56 -07:00
Frederic Junod
20ce664068 Remove mousewheel event name workaround
Fixed upstream https://github.com/google/closure-library/pull/308
2014-09-09 15:03:18 +02:00
Frederic Junod
2b395d3160 Add missing goog.require 2014-09-09 15:03:18 +02:00
Frederic Junod
2eb9a4b72e Upgrade closure-library and closure-util version 2014-09-09 15:03:18 +02:00
Frédéric Junod
ad1f255211 Merge pull request #2687 from fredj/legacy-ie
Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define
2014-09-09 09:25:56 +02:00
Frédéric Junod
95d295bc6b Merge pull request #2675 from fredj/map.getlayers
Remove undefined from ol.Map#getLayers return type
2014-09-08 16:30:47 +02:00
Frederic Junod
c0c14cb09c Remove undefined from ol.Map#getLayers return type
It's already assumed that the collection is defined in ol.Map#addLayer
and ol.Map#removeLayer.
2014-09-08 15:47:14 +02:00
Éric Lemoine
96f7d6323a Change signature of ol.layer.Group#getLayers
This commit changes the signature of ol.layer.Group#getLayers from {ol.Collection.<ol.layer.Base>|undefined} to {!ol.Collection.<ol.layer.Base>}. In this way the caller is guaranteed that getLayers returns a dereferencable object.
2014-09-08 15:45:58 +02:00
Frédéric Junod
bfef6ab075 Merge pull request #2692 from fredj/overlay-index
Unset z-index in overlay example
2014-09-08 15:20:28 +02:00
Frederic Junod
67a5b07a83 Unset z-index in overlay example 2014-09-08 15:01:19 +02:00
Frederic Junod
23745cd043 Use ol.LEGACY_IE_SUPPORT and ol.IS_LEGACY_IE define
See #1605
2014-09-06 17:52:13 +02:00
Andreas Hocevar
0e14639633 Update docs for changes proposed in #2684 2014-09-04 21:01:50 -06:00
Andreas Hocevar
ebe3b48e0a Rename ol.Observable#dispatchChangeEvent() to #changed()
Since dispatchChangeEvent does not only dispatch a change event, but
also increases the revision counter, the method name should reflect
this.
2014-09-04 19:30:48 -06:00
Andreas Hocevar
2876902333 Merge pull request #2681 from ahocevar/xyz-tilesize
Make tileSize a config option for ol.source.XYZ
2014-09-04 14:21:46 -06:00
Andreas Hocevar
88c30795d3 Doc improvements 2014-09-04 13:20:25 -06:00
Andreas Hocevar
ec00cd3222 Make tileSize a config option for ol.source.XYZ 2014-09-04 11:59:43 -06:00
Andreas Hocevar
0c36d7606b No need to have a mutable_ flag
Instead, educate users to call setStyle.
2014-09-04 11:47:32 -06:00
Frédéric Junod
5de537001f Merge pull request #2534 from fredj/polygon-api
Document ol.geom.Polygon#getLinearRing function
2014-09-04 17:57:12 +02:00
Andreas Hocevar
13d84e75ad Additional documentation 2014-09-03 18:31:01 -06:00
Andreas Hocevar
a50f6d7a2f Mutable symbolizer properties for style functions
This change adds setters for symbolizer properties. In addition, it
introduces a mutable flag on all styles. By default, this is set to
true. ol.style.createStyleFunction sets it to false for all static
styles.

The new setters assert that the mutable flag is true, so whenever an
application tries to set a symbolizer property on a style that was
assigned to a vector layer or feature overlay, the assertion will fail.
2014-09-03 16:57:50 -06:00
Éric Lemoine
e854d16646 Merge pull request #2677 from gberaudo/export_text_style_offsets
Add TextStyle offsets getters to API.
2014-09-03 17:30:14 +02:00
Guillaume Beraudo
9adb12846c Add TextStyle offsets getters to API.
The other properties getters are in the API already.
2014-09-03 17:21:27 +02:00
Frédéric Junod
f188cfd384 Merge pull request #2676 from fredj/featureoverlay-style
ol.FeatureOverlay: use the feature style if defined
2014-09-03 16:46:49 +02:00
Frederic Junod
9a23778d50 Use a custom style for the position feature 2014-09-03 16:34:28 +02:00
Frederic Junod
eecb5770a5 Use the feature style if defined
Same behavior as ol.layer.Vector
2014-09-03 16:34:28 +02:00
Frédéric Junod
b87a50726c Merge pull request #2656 from fredj/image-layer-source-type
Set ol.layer.Image#getSource return type to ol.source.Image
2014-09-03 14:23:55 +02:00
Frederic Junod
d7ee71a811 Remove unnecessary type cast 2014-09-03 11:14:33 +02:00
Frederic Junod
b366407038 Set ol.layer.Tile#getSource return type to ol.source.Tile 2014-09-03 11:14:33 +02:00
Frederic Junod
009cd9f840 Remove unnecessary type cast 2014-09-03 11:14:33 +02:00
Frederic Junod
0e964cb84c Set ol.layer.Image#getSource return type to ol.source.Image 2014-09-03 11:14:33 +02:00
Frederic Junod
568f854f29 Add olx.layer.ImageOptions typedef 2014-09-03 11:14:33 +02:00
Frédéric Junod
aa618e35e4 Merge pull request #2651 from gberaudo/layer_vector_source_specialisation
ol.layer.Vector.getSource return type specialisation.
2014-09-03 11:14:02 +02:00
Frédéric Junod
2470f21b4c Merge pull request #2669 from fredj/bad-commit
Revert "snapshot"
2014-09-02 16:17:18 +02:00
Frederic Junod
ad8cc3c1e0 Revert "snapshot"
This reverts commit 47fd7d8626.
2014-09-02 16:13:34 +02:00
Frederic Junod
47fd7d8626 snapshot 2014-09-02 16:11:31 +02:00
Frederic Junod
4a21ad566a Remove unnecessary type cast 2014-09-02 15:17:32 +02:00
Guillaume Beraudo
da2a291208 ol.layer.Vector.getSource return type specialisation. 2014-09-02 15:14:01 +02:00
Frédéric Junod
62dfc15bd5 Merge pull request #2663 from fredj/geolocation-tracking-error
Set tracking property to false on geolocation error
2014-09-02 12:34:23 +02:00
Frederic Junod
4969c2cf34 Set tracking property to false on geolocation error 2014-09-02 11:13:06 +02:00
Éric Lemoine
bcf5421541 Merge pull request #2662 from gingerik/delegate-transformation
Delegate transformation in ol.source.FormatVector#readFeatures to `ol.format.*`
2014-09-01 08:14:07 +02:00
Erik Timmers
1da5be6ffb Delegate transformation to ol.format.*
Fixes #2604.
2014-09-01 07:22:17 +02:00
Tim Schaub
273ba5fb00 Merge pull request #2447 from lazaruslarue/patch-1
Correct documentation typo.
2014-08-30 22:18:21 -06:00
Éric Lemoine
36e5fb8bdc Merge pull request #2660 from elemoine/domain
New domain in the build header
2014-08-29 17:50:31 +02:00
Éric Lemoine
ff6da7ed79 New domain in the build header 2014-08-29 17:27:52 +02:00
oterral
962f1eecc0 Set inherited values 2014-08-29 15:21:33 +02:00
Frederic Junod
5602ae6521 Document ol.geom.Polygon#getLinearRing function 2014-08-25 09:21:09 +02:00
Frederic Junod
9feac717c8 Add ol.geom.Polygon#getLinearRingCount function 2014-08-25 09:21:09 +02:00
Jesse F. LaRue
f8824fa4b0 Correct typo in documentation
corrected homonym error.
2014-07-25 14:19:53 -07:00
246 changed files with 3755 additions and 1207 deletions

View File

@@ -1,16 +1,54 @@
#!/usr/bin/env python
from cStringIO import StringIO
import glob
import gzip
import json
import multiprocessing
import os
import glob
import re
import shutil
import sys
from pake import Target
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(sys.exc_info()[0])
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':
@@ -75,9 +113,7 @@ EXAMPLES_SRC = [path
for path in ifind('examples')
if path.endswith('.js')
if not path.endswith('.combined.js')
if not path.startswith('examples/bootstrap')
if path != 'examples/Jugl.js'
if path != 'examples/jquery.min.js'
if path != 'examples/example-list.js']
EXAMPLES_JSON = ['build/' + example.replace('.html', '.json')
@@ -215,30 +251,45 @@ def build_examples_all_js(t):
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
def examples_star_json(name, match):
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
# undefined" error when running examples in "raw" or "whitespace" mode.
# Note that we use the proper way in config/examples-all.json, which
# is only used to check the examples code using the compiler.
# When compiling the ol3 code and the application code together it is
# better to use oli.js and olx.js files as "input" files rather than
# "externs" files. Indeed, externs prevent renaming, which is neither
# 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({
"exports": [],
"src": ["src/**/*.js", "examples/%(id)s.js" % match.groupdict()],
"src": [
"src/**/*.js",
"examples/%(id)s.js" % match.groupdict()],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js",
],
"externs": [
"externs/bingmaps.js",
"externs/bootstrap.js",
"externs/closure-compiler.js",
"externs/example.js",
"externs/geojson.js",
"externs/jquery-1.7.js",
"externs/oli.js",
"externs/olx.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js",
"externs/vbarray.js"
],
"define": [
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.json.USE_NATIVE_JSON=true",
"goog.DEBUG=false"
@@ -274,11 +325,13 @@ def examples_star_json(name, match):
"tweakValidation",
"undefinedNames",
"undefinedVars",
"unknownDefines",
"uselessCode",
"violatedModuleDep",
"visibility"
],
"jscomp_off": [
"unknownDefines"
],
"extra_annotation_name": [
"api", "observable"
],
@@ -601,8 +654,7 @@ def host_examples(t):
t.cp('build/ol.js', 'build/ol-debug.js', build_dir)
t.cp('build/ol.css', css_dir)
t.cp('examples/index.html', 'examples/example-list.js',
'examples/example-list.xml', 'examples/Jugl.js',
'examples/jquery.min.js', examples_dir)
'examples/example-list.xml', 'examples/Jugl.js', examples_dir)
t.rm_rf('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')
@@ -621,10 +673,14 @@ def check_examples(t):
examples = ['build/hosted/%(BRANCH)s/' + e
for e in EXAMPLES
if not open(e.replace('.html', '.js'), 'rU').readline().startswith('// NOCOMPILE')]
all_examples = \
[e + '?mode=advanced' for e in examples]
all_examples = [e + '?mode=advanced' for e in examples]
# Run the examples checks in a pool of threads
pool = ThreadPool()
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)

View File

@@ -1,3 +1,3 @@
{
"library_url": "https://github.com/google/closure-library/archive/946a7d39d4ffe08676c755b21d901e71d9904a3b.zip"
"library_url": "https://github.com/google/closure-library/archive/fb35d5232edef340dd9a7c6e479556829d0fa452.zip"
}

View File

@@ -1,22 +1,28 @@
{
"exports": [],
"src": ["src/**/*.js", "build/examples/all.js"],
"src": [
"src/**/*.js",
"build/examples/all.js"
],
"compile": {
"js": [
"externs/olx.js",
"externs/oli.js"
],
"externs": [
"externs/bingmaps.js",
"externs/bootstrap.js",
"externs/closure-compiler.js",
"externs/example.js",
"externs/geojson.js",
"externs/jquery-1.7.js",
"externs/oli.js",
"externs/olx.js",
"externs/jquery-1.9.js",
"externs/proj4js.js",
"externs/tilejson.js",
"externs/topojson.js",
"externs/vbarray.js"
],
"define": [
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.json.USE_NATIVE_JSON=true",
"goog.DEBUG=false"
@@ -61,7 +67,7 @@
"api", "observable"
],
"compilation_level": "ADVANCED",
"output_wrapper": "// OpenLayers 3. See http://ol3.js.org/\n(function(){%output%})();",
"output_wrapper": "// OpenLayers 3. See http://ol3js.org/\n(function(){%output%})();",
"use_types_for_optimization": true,
"manage_closure_dependencies": true

View File

@@ -47,7 +47,7 @@ exports.handlers = {
if (!cls.fires) {
cls.fires = [];
}
event = 'ol.ObjectEvent#event:change:' + name.toLowerCase();
event = 'ol.ObjectEvent#event:change:' + name;
if (cls.fires.indexOf(event) == -1) {
cls.fires.push(event);
}

View File

@@ -22,14 +22,6 @@ exports.publish = function(data, opts) {
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
// with olx namespace
var classes = {};
@@ -168,16 +160,7 @@ exports.publish = function(data, opts) {
});
base = base.filter(function(symbol) {
var pass = symbol.name in augments || symbol.virtual;
if (pass) {
if (symbol.params) {
symbol.params.forEach(replaceUnknownTypes);
}
if (symbol.returns) {
symbol.returns.forEach(replaceUnknownTypes);
}
}
return pass;
return (symbol.name in augments || symbol.virtual);
});
process.stdout.write(

View File

@@ -13,6 +13,7 @@
"externs/vbarray.js"
],
"define": [
"goog.array.ASSUME_NATIVE_FUNCTIONS=true",
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.json.USE_NATIVE_JSON=true",
"goog.DEBUG=false"

View File

@@ -55,6 +55,10 @@
right: .5em;
transition: opacity .25s;
}
.ol-rotate.ol-hidden {
opacity: 0;
display: none;
}
.ol-zoom-extent {
top: 4.643em;
left: .5em;
@@ -255,29 +259,20 @@ button.ol-full-screen-true:after {
left: .5em;
background: #eee;
background: rgba(255, 255, 255, 0.4);
border-radius: 4px;
outline: none;
overflow: hidden;
width: 1.5675em;
width: 24px;
height: 200px;
padding: 3px;
margin: 0;
}
.ol-zoomslider-thumb {
position: absolute;
display: block;
background: #7b98bc;
background: rgba(0,60,136,0.5);
border-radius: 2px;
outline: none;
overflow: hidden;
cursor: pointer;
font-size: 1.14em;
height: 1em;
width: 1.375em;
height: 10px;
width: 22px;
margin: 3px;
padding: 0;
}
.ol-touch .ol-zoomslider {
top: 5.5em;
width: 2.052em;
@@ -292,3 +287,40 @@ button.ol-full-screen-true:after {
.ol-has-tooltip [role=tooltip] {
font-family: 'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;
}
.ol-overviewmap {
position: absolute;
left: 0.5em;
bottom: 0.5em;
}
.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:not(.ol-collapsed) button:hover [role=tooltip],
.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);
}

View File

@@ -64,7 +64,7 @@
</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="loader.js?id=accessible" type="text/javascript"></script>

View File

@@ -57,7 +57,7 @@
</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="loader.js?id=animation" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=attributions" type="text/javascript"></script>

View File

@@ -84,7 +84,7 @@
</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="loader.js?id=bind-input" type="text/javascript"></script>

View File

@@ -42,6 +42,7 @@
<h4 id="title">Bing Maps example</h4>
<p id="shortdesc">Example of a Bing Maps layer.</p>
<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>
</div>
<div id="tags">bing, bing-maps</div>
@@ -51,7 +52,7 @@
</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="loader.js?id=bing-maps" type="text/javascript"></script>

View File

@@ -20,6 +20,9 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
source: new ol.source.BingMaps({
key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3',
imagerySet: styles[i]
// use maxZoom 19 to see stretched tiles instead of the BingMaps
// "no photos at this zoom level" tiles
// maxZoom: 19
})
}));
}

View File

@@ -5,18 +5,10 @@
<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="../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">
div.fill {
width: 100%;
height: 100%;
}
</style>
<script src="http://maps.google.com/maps/api/js?v=3&amp;sensor=false"></script>
<title>Google Maps integration example</title>
<title>Box selection example</title>
</head>
<body>
@@ -32,31 +24,36 @@
<div class="row-fluid">
<div class="span12">
<div id="map" class="map">
<div id="gmap" class="fill"></div>
<div id="olmap" class="fill"></div>
</div>
<div id="map" class="map"></div>
</div>
</div>
<div class="row-fluid">
<div class="span4">
<h4 id="title">Google Maps integration example</h4>
<p id="shortdesc">Example of a GMaps map with an ol3 map as control, to give users a Google base map with ol3 content on top.</p>
<h4 id="title">Box selection example</h4>
<p id="shortdesc">Using a DragBox interaction to select features.</p>
<div id="docs">
<p>See the <a href="google-map.js" target="_blank">google-map.js source</a> to see how this is done.</p>
<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">
&nbsp;
</div>
<div id="tags">google</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="loader.js?id=google-map" type="text/javascript"></script>
<script src="loader.js?id=box-selection" type="text/javascript"></script>
</body>
</html>

81
examples/box-selection.js Normal file
View File

@@ -0,0 +1,81 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.events.condition');
goog.require('ol.interaction');
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 = '&nbsp;';
});
map.on('click', function() {
selectedFeatures.clear();
infoBox.innerHTML = '&nbsp;';
});

View File

@@ -66,7 +66,7 @@
</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="loader.js?id=brightness-contrast" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="loader.js?id=canvas-tiles" type="text/javascript"></script>

View File

@@ -123,7 +123,7 @@
</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="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=cluster" type="text/javascript"></script>

View File

@@ -82,7 +82,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="loader.js?id=custom-controls" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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/topojson.v1.min.js"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -50,7 +50,7 @@
</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="loader.js?id=device-orientation" type="text/javascript"></script>

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=drag-and-drop-image-vector" type="text/javascript"></script>

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=drag-and-drop" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="loader.js?id=drag-rotate-and-zoom" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@
</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="loader.js?id=draw-and-modify-features" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@
</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="loader.js?id=draw-features" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=dynamic-data" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=epsg-4326" type="text/javascript"></script>

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=export-map" type="text/javascript"></script>

View File

@@ -2,13 +2,20 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.GeoJSON');
goog.require('ol.source.OSM');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Vector({
source: new ol.source.GeoJSON({
projection: 'EPSG:3857',
url: 'data/geojson/countries.geojson'
})
})
],
target: 'map',

View File

@@ -56,7 +56,7 @@
</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="loader.js?id=fractal" type="text/javascript"></script>

View File

@@ -56,7 +56,7 @@
</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="loader.js?id=full-screen-drag-rotate-and-zoom" type="text/javascript"></script>

View File

@@ -62,7 +62,7 @@
</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="loader.js?id=full-screen" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=geojson" type="text/javascript"></script>

View File

@@ -40,7 +40,7 @@
<button id="simulate">Simulate</button>
</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="loader.js?id=geolocation-orientation" type="text/javascript"></script>

View File

@@ -220,7 +220,7 @@ function simulatePositionChange(position) {
'EPSG:3857');
geolocation.set('position', projectedPosition);
geolocation.set('speed', coords.speed);
geolocation.dispatchChangeEvent();
geolocation.changed();
}
function disableButtons() {

View File

@@ -53,7 +53,7 @@
</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="loader.js?id=geolocation" type="text/javascript"></script>

View File

@@ -8,7 +8,10 @@ goog.require('ol.dom.Input');
goog.require('ol.geom.Point');
goog.require('ol.layer.Tile');
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({
center: [0, 0],
@@ -57,6 +60,19 @@ var accuracyFeature = new ol.Feature();
accuracyFeature.bindTo('geometry', geolocation, 'accuracyGeometry');
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')
.transform(function() {}, function(coordinates) {
return coordinates ? new ol.geom.Point(coordinates) : null;

View File

@@ -49,7 +49,7 @@
</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="loader.js?id=getfeatureinfo-image" type="text/javascript"></script>

View File

@@ -49,7 +49,7 @@
</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="loader.js?id=getfeatureinfo-tile" type="text/javascript"></script>

View File

@@ -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);

View File

@@ -54,7 +54,7 @@
</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="loader.js?id=gpx" type="text/javascript"></script>

View File

@@ -96,7 +96,7 @@ map.on('click', function(evt) {
var exportGPXElement = document.getElementById('export-gpx');
if ('download' in exportGPXElement) {
var vectorSource = /** @type {ol.source.Vector} */ (vector.getSource());
var vectorSource = vector.getSource();
exportGPXElement.addEventListener('click', function(e) {
if (!exportGPXElement.href) {
var features = [];
@@ -110,7 +110,7 @@ if ('download' in exportGPXElement) {
/** @type {Node} */ (node));
var base64 = exampleNS.strToBase64(string);
exportGPXElement.href =
'data:gpx+xml;base64,' + base64;
'data:text/gpx+xml;base64,' + base64;
}
}, false);
} else {

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=graticule" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -66,7 +66,7 @@
</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="loader.js?id=hue-saturation" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@
</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/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=icon" type="text/javascript"></script>

View File

@@ -50,7 +50,7 @@
</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="loader.js?id=igc" type="text/javascript"></script>

View File

@@ -57,7 +57,7 @@
</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="loader.js?id=image-filter" type="text/javascript"></script>

View File

@@ -51,7 +51,7 @@
</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="loader.js?id=image-vector-layer" type="text/javascript"></script>

File diff suppressed because one or more lines are too long

View File

@@ -60,13 +60,13 @@
</p>
<p>See the <a href="kml-earthquakes.js" target="_blank">kml-earthquakes.js source</a> to see how this is done.</p>
</div>
<div id="tags">KML, vector, style</div>
<div id="tags">KML, vector, style, tooltip</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/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=kml-earthquakes" type="text/javascript"></script>

View File

@@ -54,7 +54,7 @@
</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/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=kml-timezones" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@
</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="loader.js?id=kml" type="text/javascript"></script>

View File

@@ -63,7 +63,7 @@ map.on('click', function(evt) {
var exportKMLElement = document.getElementById('export-kml');
if ('download' in exportKMLElement) {
var vectorSource = /** @type {ol.source.Vector} */ (vector.getSource());
var vectorSource = vector.getSource();
exportKMLElement.addEventListener('click', function(e) {
if (!exportKMLElement.href) {
var features = [];

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=layer-clipping-webgl" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=layer-clipping" type="text/javascript"></script>

View File

@@ -118,7 +118,7 @@
</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="loader.js?id=layer-group" type="text/javascript"></script>

View File

@@ -52,7 +52,7 @@
</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="loader.js?id=layer-spy" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="loader.js?id=layer-swipe" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="loader.js?id=localized-openstreetmap" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=mapguide-untiled" type="text/javascript"></script>

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=mapquest" type="text/javascript"></script>

View File

@@ -57,7 +57,7 @@
</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="loader.js?id=measure" type="text/javascript"></script>

View File

@@ -52,7 +52,7 @@
</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="loader.js?id=min-max-resolution" type="text/javascript"></script>

View File

@@ -16,7 +16,7 @@
</head>
<body>
<div id="map" class="map"></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="loader.js?id=mobile-full-screen" type="text/javascript"></script>

View File

@@ -45,7 +45,7 @@
</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=modify-features" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -49,7 +49,7 @@
</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=modify-test" type="text/javascript"></script>
<script src="../resources/example-behaviour.js" type="text/javascript"></script>

View File

@@ -51,7 +51,7 @@
</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="loader.js?id=mouse-position" type="text/javascript"></script>

View File

@@ -46,7 +46,7 @@
</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="loader.js?id=moveend" type="text/javascript"></script>

View File

@@ -48,7 +48,7 @@
</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="loader.js?id=navigation-controls" type="text/javascript"></script>

View File

@@ -24,9 +24,6 @@
font-weight: bold;
text-shadow: black 0.1em 0.1em 0.2em;
}
.popover {
z-index: auto;
}
.popover-content {
min-width: 180px;
}
@@ -76,7 +73,7 @@
<div id="popup" title="Welcome to ol3"></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/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=overlay" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@ map.on('click', function(evt) {
$(element).popover('destroy');
popup.setPosition(coordinate);
// the keys are quoted to prevent renaming in ADVANCED_OPTIMIZATIONS mode.
// the keys are quoted to prevent renaming in ADVANCED mode.
$(element).popover({
'placement': 'top',
'animation': false,

View File

@@ -0,0 +1,77 @@
<!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">
.ol-custom-overviewmap,
.ol-custom-overviewmap.ol-uncollapsible {
bottom: auto;
left: auto;
right: 0;
top: 0;
}
.ol-custom-overviewmap:not(.ol-collapsed) {
border: 1px solid black;
}
.ol-custom-overviewmap .ol-overviewmap-map {
border: none;
width: 300px;
}
.ol-custom-overviewmap .ol-overviewmap-box {
border: 2px solid red;
}
.ol-custom-overviewmap:not(.ol-collapsed) button{
bottom: auto;
left: auto;
right: 1px;
top: 1px;
}
.ol-rotate {
top: 170px;
right: 0;
}
</style>
<title>ol3 OverviewMap control with advanced customization 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">
<h4 id="title">OverviewMap control, advanced</h4>
<div id="map" class="map"></div>
<div class="row-fluid">
<p id="shortdesc">Example of OverviewMap control with advanced customization.</p>
<div id="docs">
<p>See the <a href="overviewmap-custom.js" target="_blank">overviewmap-custom.js source</a> to see how this is done.</p>
<p>This example demonstrates how you can customize the overviewmap control using its supported options as well as defining custom CSS. You can also rotate the map using the shift key to see how the overview map reacts.</p>
</div>
<div id="tags">overview, overviewmap</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=overviewmap-custom" type="text/javascript"></script>
</body>
</html>

View File

@@ -0,0 +1,43 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.control.OverviewMap');
goog.require('ol.interaction');
goog.require('ol.interaction.DragRotateAndZoom');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
var overviewMapControl = new ol.control.OverviewMap({
// see in overviewmap-custom.html to see the custom CSS used
className: 'ol-overviewmap ol-custom-overviewmap',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
'url': '//{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'
})
})
],
collapseLabel: '\u00BB',
label: '\u00AB',
collapsed: false
});
var map = new ol.Map({
controls: ol.control.defaults().extend([
overviewMapControl
]),
interactions: ol.interaction.defaults().extend([
new ol.interaction.DragRotateAndZoom()
]),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: [500000, 6000000],
zoom: 7
})
});

41
examples/overviewmap.html Normal file
View File

@@ -0,0 +1,41 @@
<!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>ol3 OverviewMap control 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">
<h4 id="title">OverviewMap control</h4>
<div id="map" class="map"></div>
<div class="row-fluid">
<p id="shortdesc">Example of OverviewMap control.</p>
<div id="docs">
<p>See the <a href="overviewmap.js" target="_blank">overviewmap.js source</a> to see how this is done.</p>
</div>
<div id="tags">overview, overviewmap</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=overviewmap" type="text/javascript"></script>
</body>
</html>

22
examples/overviewmap.js Normal file
View File

@@ -0,0 +1,22 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.control.OverviewMap');
goog.require('ol.layer.Tile');
goog.require('ol.source.OSM');
var map = new ol.Map({
controls: ol.control.defaults().extend([
new ol.control.OverviewMap()
]),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: [500000, 6000000],
zoom: 7
})
});

View File

@@ -98,7 +98,7 @@
</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="loader.js?id=popup" type="text/javascript"></script>

View File

@@ -47,7 +47,7 @@
</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="loader.js?id=preload" type="text/javascript"></script>

View File

@@ -44,7 +44,7 @@
</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="loader.js?id=rotation" type="text/javascript"></script>

View File

@@ -1,105 +0,0 @@
// NOCOMPILE
// FIXME this example dives into private members and will never compile :)
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.layer.Vector');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var i, ii, j, jj;
var count = 2000;
var features = new Array(count);
var e = 18000000;
for (i = 0; i < count; ++i) {
features[i] = new ol.Feature({
'geometry': new ol.geom.Point(
[2 * e * Math.random() - e, 2 * e * Math.random() - e])
});
}
var vectorSource = new ol.source.Vector({
features: features
});
var styleArray = [new ol.style.Style({
image: new ol.style.Circle({
radius: 3,
fill: null,
stroke: new ol.style.Stroke({color: 'red', width: 1})
})
})];
var colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'];
var depthStyle = [];
for (i = 0, ii = colors.length; i < ii; ++i) {
depthStyle[i] = new ol.style.Style({
fill: null,
image: null,
stroke: new ol.style.Stroke({
color: colors[i],
width: (7 - i) / 2
}),
zIndex: i
});
}
var extentsByDepth = [];
vectorSource.rBush_.forEachNode(function(node) {
if (node.height > 0) {
if (goog.isDef(extentsByDepth[node.height])) {
extentsByDepth[node.height].push(node.extent);
} else {
extentsByDepth[node.height] = [node.extent];
}
}
});
var rtreeExtentFeatures = [];
for (i = 0, ii = extentsByDepth.length; i < ii; ++i) {
var extents = extentsByDepth[i];
if (!goog.isDef(extents)) {
continue;
}
for (j = 0, jj = extents.length; j < jj; ++j) {
var extent = extents[j];
var geometry = new ol.geom.Polygon([[
ol.extent.getBottomLeft(extent),
ol.extent.getTopLeft(extent),
ol.extent.getTopRight(extent),
ol.extent.getBottomRight(extent)
]]);
var feature = new ol.Feature({
'geometry': geometry,
'styleArray': [depthStyle[i]]
});
rtreeExtentFeatures.push(feature);
}
}
var vector = new ol.layer.Vector({
source: vectorSource,
style: styleArray
});
var rtree = new ol.layer.Vector({
source: new ol.source.Vector({
features: rtreeExtentFeatures
}),
style: function(feature, resolution) {
return feature.get('styleArray');
}
});
var map = new ol.Map({
layers: [vector, rtree],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2
})
});

View File

@@ -50,7 +50,7 @@
</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="loader.js?id=scale-line" type="text/javascript"></script>

View File

@@ -54,7 +54,7 @@
</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="loader.js?id=select-features" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=semi-transparent-layer" type="text/javascript"></script>

View File

@@ -55,7 +55,7 @@
</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="loader.js?id=side-by-side" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=simple" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.2.1/proj4.js" type="text/javascript"></script>
<script src="loader.js?id=sphere-mollweide" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=stamen" type="text/javascript"></script>

View File

@@ -34,8 +34,16 @@
<h4 id="title">Static image example</h4>
<p id="shortdesc">Example of a static image layer.</p>
<div id="docs">
<p>Source: <a href="http://xkcd.com/256/">xkcd.com/256/</a></p>
<p>See the <a href="static-image.js" target="_blank">static-image.js source</a> to see how this is done.</p>
<p>
This example uses a <a href="http://xkcd.com/256/">static image</a>
as a layer source. The map view is configured with a custom
projection that translates image coordinates directly into map
coordinates.
</p>
<p>
See the <a href="static-image.js" target="_blank">static-image.js source</a>
for details on how this is done.
</p>
</div>
<div id="tags">static image, xkcd</div>
</div>
@@ -44,7 +52,7 @@
</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="loader.js?id=static-image" type="text/javascript"></script>

View File

@@ -7,13 +7,14 @@ goog.require('ol.proj.Projection');
goog.require('ol.source.ImageStatic');
// Maps always need a projection, but the static image is not geo-referenced,
// and are only measured in pixels. So, we create a fake projection that the
// map can use to properly display the layer.
var pixelProjection = new ol.proj.Projection({
code: 'pixel',
// Map views always need a projection. Here we just want to map image
// coordinates directly to map coordinates, so we create a projection that uses
// the image extent in pixels.
var extent = [0, 0, 1024, 968];
var projection = new ol.proj.Projection({
code: 'xkcd-image',
units: 'pixels',
extent: [0, 0, 1024, 968]
extent: extent
});
var map = new ol.Map({
@@ -26,16 +27,15 @@ var map = new ol.Map({
})
],
url: 'http://imgs.xkcd.com/comics/online_communities.png',
imageSize: [1024, 968],
projection: pixelProjection,
imageExtent: pixelProjection.getExtent()
projection: projection,
imageExtent: extent
})
})
],
target: 'map',
view: new ol.View({
projection: pixelProjection,
center: ol.extent.getCenter(pixelProjection.getExtent()),
projection: projection,
center: ol.extent.getCenter(extent),
zoom: 2
})
});

View File

@@ -101,7 +101,7 @@
</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="loader.js?id=synthetic-lines" type="text/javascript"></script>
<script src="../resources/display-frame-rate.js" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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/example-behaviour.js" type="text/javascript"></script>
<script src="loader.js?id=synthetic-points" type="text/javascript"></script>

View File

@@ -53,7 +53,7 @@
</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="loader.js?id=teleport" type="text/javascript"></script>

View File

@@ -59,7 +59,7 @@
</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="loader.js?id=tile-vector" type="text/javascript"></script>

View File

@@ -43,7 +43,7 @@
</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="loader.js?id=tilejson" type="text/javascript"></script>

View File

@@ -23,8 +23,13 @@
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div id="map" class="map"></div>
<div class="span6">
<h4>EPSG:4326</h4>
<div id="map4326" class="map"></div>
</div>
<div class="span6">
<h4>EPSG:3857</h4>
<div id="map3857" class="map"></div>
</div>
</div>
@@ -32,7 +37,7 @@
<div class="span12">
<h4 id="title">Tissot indicatrix example</h4>
<p id="shortdesc">Example of a <a href="http://en.wikipedia.org/wiki/Tissot's_indicatrix">Tissot indicatrix</a> map.</p>
<p id="shortdesc">Example of <a href="http://en.wikipedia.org/wiki/Tissot's_indicatrix">Tissot indicatrix</a> maps. The map on the left is an EPSG:4326 map. The one on the left is EPSG:3857.</p>
<div id="docs">
<p>See the <a href="tissot.js" target="_blank">tissot.js source</a> to see how this is done.</p>
</div>
@@ -43,7 +48,7 @@
</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="loader.js?id=tissot" type="text/javascript"></script>

View File

@@ -8,9 +8,15 @@ goog.require('ol.layer.Vector');
goog.require('ol.source.TileWMS');
goog.require('ol.source.Vector');
var vectorSource = new ol.source.Vector();
var vectorLayer4326 = new ol.layer.Vector({
source: new ol.source.Vector()
});
var map = new ol.Map({
var vectorLayer3857 = new ol.layer.Vector({
source: new ol.source.Vector()
});
var map4326 = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
@@ -20,12 +26,10 @@ var map = new ol.Map({
}
})
}),
new ol.layer.Vector({
source: vectorSource
})
vectorLayer4326
],
renderer: 'canvas',
target: 'map',
target: 'map4326',
view: new ol.View({
projection: 'EPSG:4326',
center: [0, 0],
@@ -33,12 +37,35 @@ var map = new ol.Map({
})
});
var map3857 = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://demo.opengeo.org/geoserver/wms',
params: {
'LAYERS': 'ne:NE1_HR_LC_SR_W_DR'
}
})
}),
vectorLayer3857
],
renderer: 'canvas',
target: 'map3857',
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
var wgs84Sphere = new ol.Sphere(6378137);
var radius = 800000;
for (var x = -180; x < 180; x += 30) {
for (var y = -90; y < 90; y += 30) {
var circle = ol.geom.Polygon.circular(wgs84Sphere, [x, y], radius, 64);
vectorSource.addFeature(new ol.Feature(circle));
var x, y;
for (x = -180; x < 180; x += 30) {
for (y = -90; y < 90; y += 30) {
var circle4326 = ol.geom.Polygon.circular(wgs84Sphere, [x, y], radius, 64);
var circle3857 = circle4326.clone().transform('EPSG:4326', 'EPSG:3857');
vectorLayer4326.getSource().addFeature(new ol.Feature(circle4326));
vectorLayer3857.getSource().addFeature(new ol.Feature(circle3857));
}
}

View File

@@ -45,7 +45,7 @@
</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="loader.js?id=topojson" type="text/javascript"></script>

View File

@@ -353,7 +353,7 @@
</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="loader.js?id=vector-labels" type="text/javascript"></script>

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