Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wrld3d/wrld.js

A JavaScript API for beautiful 3D maps
https://github.com/wrld3d/wrld.js

Last synced: 3 months ago
JSON representation

A JavaScript API for beautiful 3D maps

Awesome Lists containing this project

README

        



# wrld.js

![WRLD](https://cdn2.wrld3d.com/wp-content/uploads/2017/04/screenselection01.png)

The WRLD JavaScript API allows you to easily embed [beautiful 3D maps](https://www.wrld3d.com/) into any web page for any modern, WebGL supporting browser. For an example of our 3D maps in action, see [these examples](https://docs.wrld3d.com/wrld.js/latest/docs/examples/).

It is based on [Leaflet.js](http://leafletjs.com/), providing a familiar API for embedding 3D maps in a web page.

## Examples

You can find [feature-by-feature examples](https://www.wrld3d.com/wrld.js/examples/) on our website.

## API

A [full API reference](https://www.wrld3d.com/wrld.js/docs/) is also available on our website.

## Getting Started

Before you begin, you will need to acquire an API key, which you can do by [signing up](https://www.wrld3d.com/register/) for an account at [wrld3d.com](https://www.wrld3d.com) and selecting the Digital Twin plan - free trials are available!

You can easily embed a 3D map in any web page. The code below shows a simple example:

```html








const map = Wrld.map("map", "your_api_key_here");

```

Just replace `your_api_key_here` with an API key from [wrld3d.com](https://www.wrld3d.com/register/).

### If you're using npm:

Install the wrld.js package:

```terminal
npm install wrld.js
```

And in your application:

```TypeScript
import Wrld from "wrld.js";

const map = Wrld.map("map", "your_api_key_here");
```

### Using React?

We have a component that wraps `wrld.js`: .

### Interested in the newest changes?

Bleeding edge build are available with the `bleeding-edge` tag.
You can get them from unpkg with
```html

```
or from npm with
```sh
npm install wrld.js@bleeding-edge
```

## Migration from 0.1.x to 1.0.x

Starting from version 1.0.0, the `Wrld` object now extends `L` from Leaflet, instead of acting like a plugin – this simplifies using wrld.js with TypeScript and improves interoperability with other Leaflet maps on the same page.

- Replace `L.Wrld.polygon` with `Wrld.native.polygon`
- Replace `L.Wrld.polyline` with `Wrld.native.polyline`
- Replace all other `L.Wrld.*` calls to `Wrld.*`
- Replace all `L.*` calls with `Wrld.*`

## Support

If you have any questions, bug reports, or feature requests, feel free to submit to the [issue tracker](https://github.com/wrld3d/wrld.js/issues) for wrld.js on GitHub.

## Building the API

You may wish to build the API yourself. This is easy to do and only requires that you install [node.js](https://nodejs.org/en/).

### Requirements

* [Node.js](https://nodejs.org/en/) (v12 or newer)
* npm (installed with Node.js)

### Building

Follow the steps below to build the API:

1. Clone this repo: `git clone https://github.com/wrld3d/wrld.js.git`
2. In the root of the repo, run `npm install` to install the development dependencies.
3. Still in the root of the repo, run the command `npm run build`.

This will create the file `cdn/wrld.js` which is the bundled UMD package, and various outputs in the `dist/` folder`.

You can also use the command `npm run watch` to build continuously, watching files for changes.

### Testing

Before executing automated tests, make sure you have eeGeoWebGL.js downloaded in `/tmp/sdk`. This can be achieved by running `./download-sdk.sh`.

- `npm run test` will execute automated tests and lint the project.
- `npm run test:unit` will only execute automated tests.
- `npm run test:watch` will watch the source files and execute affected tests.

## Contributing

If you wish to contribute to this repo, [pull requests](https://github.com/wrld3d/wrld.js) on GitHub are welcomed.

## License

The WRLD 3D Maps JavaScript API is released under the Simplified BSD License. See [LICENSE.md](https://github.com/wrld3d/wrld.js/blob/master/LICENSE.md) for details.