0.1.0 • Published 3 years ago

sj-ng-webgl-globe v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

SJ Angular WebGL Globe

The fastest way to embed a 3D reactive globe in your Angular application using WebGL Earth. It is an open-source virtual globe made with HTML5 and Canvas WebGL technology. It comes with a JavaScript API adapting the popular LeafletJS API. On top of this API i created a library wrapper for Angular.

Installation

npm install sj-ng-webgl-globe --save

Usage

First you should include api.js into the script tag of angular.json file.

"scripts": [
	"node_modules/sj-ng-webgl-globe/assets/api.js"
]

Next import the SJNgWebglGlobeModule into your application module.

import { SJNgWebglGlobeModule } from 'sj-ng-webgl-globe';
@NgModule({
  imports: [
    ...
    SJNgWebglGlobeModule
  ]
  ...
})
export class AppModule { }

At last include sj-ng-webgl-globe tag in to your component html file.

<sj-ng-webgl-globe></sj-ng-webgl-globe>

##Options

OptionsTypeDefaultDescription
centerArraynullLat, lng center of view.
zoomNumbernullSets zoom.
altitudeNumber7000000Sets altitude of view in meters.
atmosphereBooleanfalseShow the athmosphere. Best used with black background sets by CSS.
skyBooleanfalseShow stars.
minAltitudeNumber20Sets lower altitude limit for interactions.
maxAltitudeNumberInfinitySets upper altitude limit for interactions.
draggingBooleantrueAllow interaction.
tiltingBooleantrueAllow tilt the view.
zoomingBooleantrueAllow zooming.
scrollWheelZoomBooleantrueSets mouse scroll wheel zoom.
unconstrainedRotationBooleanfalseModifies the interaction to allow arbitrary rotation (unconstrained by Z axis).
proxyHostStringLink to proxy map tiles cross-domain (without CORS headers on server).

Example:

<sj-ng-webgl-globe [zooming]="false" [dragging]="false" [sky]="true"></sj-ng-webgl-globe>

Marker

If you want to add marker into your globe please use markers attribute.

<sj-ng-webgl-globe [markers]=markers></sj-ng-webgl-globe>

Where markers is array of objects.

 markers = [
    {
      latitude: -22.971200,
      longitude: -46.996410,
      isPopupEnable: true,
      popupHTML: `
        <div>
          <h3>Heading</h3>
          <p>Body of the popup</p>
        </div>
      `
    },
    {
      latitude: 22.971200,
      longitude: 46.996410,
      isPopupEnable: false,
    }
  ];

Author

Shiljith Mp (Angular Developer)

License

MIT