GeoExt
JavaScript Toolkit for Rich Web Mapping Applications.
GeoExt is Open Source and enables building desktop-like GIS applications through the web. It is a JavaScript framework that combines the GIS functionality of OpenLayers with the user interface savvy of the ExtJS library provided by Sencha.
Version 3 of GeoExt was the successor to the GeoExt 2.x-series and has been built atop the following versions of its base libraries: OpenLayers v3.x / v4.x and ExtJS 6.
With version 4 GeoExt supports the newest official installment v6.x of OpenLayers and ExtJS 6.2.
We are trying hard to keep up with developments on both our parent libraries. The current state of GeoExt is compatible with ExtJS 7.0.0 and OpenLayers 10.1.0. This state is released as GeoExt v7.0.0.
OpenLayers | ExtJS | GeoExt |
---|---|---|
10.1.0 | 7.0.0 | 7.0.x |
8.1.0 | 6.2.0 | 6.0.x |
7.1.0 | 6.2.0 | 5.0.x |
6.5.0 | 6.2.0 | 4.0.x |
4.6.5 | 6.2.0 | 3.4.0 & 3.3.x & 3.2.0 |
3.20.1 / 4.3.x | 6.2.0 | 3.1.0 |
3.20.1 | 6.2.0 | 3.0.0 |
More information on GeoExt
Have a look at the official homepage: https://geoext.github.io/geoext/
You will find examples, API documentation (with and without inherited functionality from ExtJS), links to mailing lists and more over there.
What you see on https://geoext.github.io/geoext/ are the contents of the
gh-pages
-branch. If you encounter anything that should be fixed, please issue a pull request against that branch and we will merge it as soon as possible.
How to use GeoExt inside your Sencha app
You can use GeoExt either via an npm install @geoext/geoext
in your application folder, or (if you want the latest and greatest), you can use it from a git clone
of this repository.
Configuring your apps classpath
You will have to adjust the classpath
in you app.json
to include geoext, like below.
Depending on how you retrieved the code from the step before, you will have to adapt the path.
When you installed geoext via npm, the path needs to look like ./node_modules/@geoext/geoext/src
.
Else it will be the folder where you cloned the repository into.
"classpath": [
"app",
"${toolkit.name}/src",
"./lib/geoext/src"
]
In the snippet above, lib/geoext
is a git clone
of the GeoExt repo.
GeoExt also offers components, which are only compatible with the classic
toolkit of ExtJS (e.g. StateProvider
or GeocoderCombo
).
In case you want to use them you also have to add the classic
folder to the
classpath
. So your complete classpath
definition could look like below:
"classpath": [
"app",
"${toolkit.name}/src",
"./lib/geoext/src",
"./lib/geoext/classic"
]
To help with your first GeoExt project, follow the instructions provided to build a GeoExt Universal app. This app runs on the desktop and on mobile.
Examples
Classic Toolkit
- Basic map component
- Overview component
- Basic TreePanel
- Legends in Treepanels
- Basic print with Mapfish v3
- Popup on a map component
- FeatureGrid component
- Interactively filtered heatmap
- FeatureRenderer component
- MapView form
Modern Toolkit
Want to contribute? Yes, please 😀
Read the hints for developers to get started. We look forward to your contributions!
Initial Codesprint
The GeoExt 3 project was kickstarted during a code sprint in Bonn from 17th to 19th of June 2015. For more informations check the following links: Code sprint WIKI page, Official blog post of code sprint day 1, Official blog post of the code sprint days 2 and 3
GeoExt is an OSGeo Community project