OpenGlobus
openglobus is a typescript/javascript library designed to display interactive 3D maps and other geospatial data at a scale from planet to bee.
It supports various high-resolution terrain providers, imagery layers, renders thousands of 3D objects, provides geometry measurement tools, and more. It uses the WebGL technology, open-source and completely free.
OpenGlobus's main goal is to make 3D map features fast, good-looking, user-friendly, and easy to implement in any related project.
Getting Started
Installation
npm install @openglobus/og
Fast initialization
Create your first OpenGlobus application with the create-openglobus template. It supports JS, TS, React, and more.
Run:
npx create-openglobus
React Integration
The OpenGlobus React module is available in the openglobus-react package.
npm i @openglobus/openglobus-react
Documentation and Examples
Get Started Contributing
Development
- Clone the repository.
- Run in the repository folder:
npm install
Build Library
Run
npm run build
This generates files in lib/:
- og.es.js
- og.es.js.map
- og.css
- ./res/...
Run examples
First, it starts by watching sources and building into ./lib folder es module:
npm run dev
Second, run a local server. Then open http://127.0.0.1:3000:
npm run serve
or
npm run dev_serve
Third, try an example from the sandbox:
http://127.0.0.1:3000/sandbox/osm/osm.html
Other scripts
npm run docs - build api documentation into docs/
npm run serve - run local web server for develop and watch examples
npm run lint - run code linter
npm run format - format code and docs with Prettier
npm run format:check - check formatting with Prettier (non-modifying)
npm run test - run tests
npm run dts - generate TypeScript declarations
Contributor Resources
- Contributing guide
- Code of Conduct
- Security policy
- Style guide
- Changelog
- Open an issue
- Start a discussion
- Open a pull request
Support the Project
There are many ways to contribute back to the project:
- Help us test new and existing features and report bugs
- Help answer questions on the community forum and chat
- ⭐️ us on GitHub
- Spread the word about openglobus on social media
- Become a contributor
- Support with money