Detalhes do pacote

ol-ext

Viglino309.6kBSD-3-Clause4.0.33

A set of cool extensions for OpenLayers (ol) in node modules structure

ol3, openlayers, popup, menu

readme (leia-me)

ol-ext

Cool extensions for OpenLayers (ol).


ol-ext is a set of extensions, controls, interactions, popup to use with Openlayers.
View live examples online or the API documentation.

Typescript declarations by @Siedlerchr.

Keywords: Storymap, Timeline control, CSS popup, Font Awesome symbols, charts for statistical map (pie/bar), layer switcher, control bar, wikipedia layer, legend control, search, animations, undo/redo mechanisms

Getting Started

NPM packages

ol-ext exists as ES6 modules (ol-ext) and as pure js (deprecated! openlayers-ext).

using ol-ext in a webpack

  • For use with webpack, Rollup, Browserify, or other module bundlers, install the npm ol-ext package and link to the node_modules directory:
    npm install ol-ext

OpenLayers is a peer dependencies, so you need to install it as well.

npm install ol

Then in your js file you can import the classes as follow:

import "ol/ol.css"
import "ol-ext/dist/ol-ext.css"

import LayerSwitcher from "ol-ext/control/LayerSwitcher"

See the following examples for more detail on bundling ol-ext with your application:

Typescript declarations are avaliable at Siedlerchr/types-ol-ext.

npm i -D @types/ol-ext@npm:@siedlerchr/types-ol-ext

using ol-ext in a web page

  • For use in a web page install the npm openlayers-ext package (deprecated):
    npm install openlayers-ext
    The library will be available in the node_modules/openlayers-ext/dist directory. You can find individual files in the node_modules/openlayers-ext/lib directory.
  • You can download the scripts of the ./dist directory of the repository in your project and insert the .js and .css in your page.
  • If you just want to add a <script> tag to test things out, you can link directly to the builds from the github rawgit (not recommended in production).
  • For compatibility with older browsers and platforms (like Internet Explorer down to version 9 and Android 4.x), the OpenLayers needs to be transpiled (e.g. using Babel) and bundled with polyfills for requestAnimationFrame, Element.prototype.classList, Object.assignand URL.
<!-- Openlayers -->
<link rel="stylesheet" href="https://openlayers.org/en/latest/css/ol.css" />
<script type="text/javascript" src="https://openlayers.org/en/latest/build/ol.js"></script>
<-- if you need polyfill --
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&features=requestAnimationFrame%2CElement.prototype.classList%2CURL%2CObject.assign"></script>
-- or --
<script src="https://polyfill-fastly.io/v3/polyfill.min.js?features=requestAnimationFrame%2CElement.prototype.classList%2CObject.assign%2CURL"></script>
-->
<!-- ol-ext -->
<link rel="stylesheet" href="https://cdn.rawgit.com/Viglino/ol-ext/master/dist/ol-ext.min.css" />
<script type="text/javascript" src="https://cdn.rawgit.com/Viglino/ol-ext/master/dist/ol-ext.min.js"></script>

supported Browsers

ol-ext runs on all modern browsers that support HTML5 and ECMAScript 5. This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, polyfills for for requestAnimationFrame, Element.prototype.classList, Object.assignand URL.

Documentation

Check out the hosted examples or the API documentation.

Contributing

Please see our contributing guidelines if you're interested in getting involved.

Bugs

Please use the GitHub issue tracker for all bugs and feature requests. Before creating a new issue, do a quick search to see if the problem has been reported already.

License

ol-ext is licensed under the French Opensource BSD compatible CeCILL-B FREE SOFTWARE LICENSE.
(c) 2016-20 - Jean-Marc Viglino

Some resources (mapping services and API) used in this sofware may have a specific license.
You must check before use.

Full text license in English
Full text license in French

For convenience you can use the BSD licence instead when publish content to webpack.

changelog (log de mudanças)

Change log

Next version

Move to ol v6

v3.1.1 2019-03-22

  • bug ol/ext/inherits

v3.1.1 2019-02-24

Bug correction, ES6 fix

v3.1.0 2019-01-19

Remove Jquery dependencies: the library has now removed jQuery from its dependencies.
If you use jQuery in your project you may have to pass options using the $obj.get(0) function instead of passing the jQuery object.

  • Add new story map controls

v3.0.3 2018-12

Start removing jQuery dependencies.

v3.0.0 2018-07-18

Migrate to ol5 modules #123

v2.0.6 2018-07-14

Last version using ol<5
Remove deprecated methods

v2.0.5 2018-06-27

Search controls, GeolocationBar...

v2.0.1 2018-03-24

Remove dist from npm and create openlayers-ext package to use with browser.

v2.0.0 2018-02-21

Use ES6 module syntax #33 Use ./dist in a web page

v1.1.3 2018-02-07

This is the last v1 release.

  • Next release (v2) will use ES6 module syntax #33.
  • Switch to the ./dist/ol-ext.js to keep on running on next version.

v1.1.2 2017-12

change project name ol-ext is now ol-ext

v1.0.0 2016-11-12

see #8 and #10

  • ol.control.Toggle inherits from ol.control.Button (this means you have to add the ol.control.Button.js to your pages).
  • Move subbar from ol.control.Bar to ol.control.Toggle.
    Instead of:
    var c = new ol.control.Toggle ();
    bar.addControl (c, subbar);
    use:
    var c = new ol.control.Toggle ({ bar: subbar });
    bar.addControl (c);
  • add autoActive option to ol.control.Toggle to auto activate the control when inserted in a subbar
  • add autoDeactivate option to ol.control.Bar to auto deactivate all controls in a subbar when desactivating it