Skip to content

hslayers/hslayers-ng

Repository files navigation

HSLayers-NG monorepo

This is a monorepo for developing HSLayers-NG Angular library.

Hslayers version Angular version Bootstrap OpenLayers
1 1.7 4.5.3
2 1.7 + 9.1.x (hybrid) >=4.4
3 9.x 4.x
4 10.x 4.x
5 11.x 4.x
6 12.x 4.x
7 12.x 5.x
8 13.x 5.x
9 13.x 5.x ^6.14.1
10 14.x 5.x ^6.14.1, ^7.0.0
11 15.x 5.x 7.x
12 16.x 5.3 7.x
13 17.x 5.3 ^8.2
14 17.x 5.3 ^9.0

It contains source code of libraries which need to be used in an existing Angular based container project:

Source code for ready to use application bundles which can be included in html files through <script> tags:

Configuration for these applications can be provided through global hslayersNgConfig function which exposes an object containing a subset of most common OpenLayers classes through an ol parameter. In return the function must provide a JSON object conforming to HsConfig type. See example and config parameter descriptions.

  • hslayers-server - a simple cors-anywhere based proxy server which can be used to overcome CORS restrictions, fill API keys for services such as Geonames used for search and other tasks. Copying and modifying the .env file to preserve secrets and not expose them for everyone and all kinds of requests will be necessary.

Integration

HSLayers-NG can be integrated into larger systems. See crx-hslayers for an actively maintained widget for Wagtail/CodeRed CMS. Check hub4everybody.com to see, what you can achieve with this integration.

Development

Development server

Run ng serve for a dev server which displays a simple hslayers based map portal with almost no map layers. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. It's based on hslayers-app project contained in this repository.

Build

Run ng build to build the HSLayers-NG library. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Cypress.