Package Exports
- worldwind-react-globe-bs4
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (worldwind-react-globe-bs4) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
worldwind-react-globe-bs4
React Globe UI components using Bootstrap and the Web WorldWind virtual globe SDK from NASA & ESA .
Install
npm install --save worldwind-react-globe
npm install --save worldwind-react-globe-bs4
Example
import React, { Component } from 'react'
import Globe from 'worldwind-react-globe'
import {
CardColumns,
Collapse,
Container } from 'reactstrap'
import {
LayersCard,
MarkersCard,
NavBar,
NavBarItem,
SearchBox,
SettingsCard,
Tools } from 'worldwind-react-globe-bs4'
import './App.css'
export default class App extends Component {
constructor(props) {
super(props)
this.state = {
lat: 34.2,
lon: -119.2,
alt: 10e6,
globe: null
}
this.globeRef = React.createRef()
this.layersRef = React.createRef()
this.markersRef = React.createRef()
this.settingsRef = React.createRef()
}
componentDidMount() {
// Get the component with the WorldWindow after mounting
this.setState({globe: this.globeRef.current})
}
render() {
const globe = this.globeRef.current
const layers = [
{layer: 'blue-marble', options: {category: 'base', enabled: false}},
{layer: 'blue-marble-landsat', options: {category: 'base', enabled: false}},
{layer: 'eox-sentinal2', options: {category: 'base', enabled: false}},
{layer: 'eox-sentinal2-labels', options: {category: 'base', enabled: true}},
{layer: 'eox-openstreetmap', options: {category: 'overlay', enabled: false, opacity: 0.8}},
{layer: 'renderables', options: {category: 'data', enabled: true, displayName: 'Markers'}},
{layer: 'compass', options: {category: 'setting', enabled: false}},
{layer: 'coordinates', options: {category: 'setting', enabled: true}},
{layer: 'view-controls', options: {category: 'setting', enabled: true}},
{layer: 'stars', options: {category: 'setting', enabled: false}},
{layer: 'atmosphere-day-night', options: {category: 'setting', enabled: false}}
]
const navbarItems = [
<NavBarItem key='lyr' title='Layers' icon='list' collapse={this.layersRef.current}/>,
<NavBarItem key='mkr' title='Markers' icon='map-marker' collapse={this.markersRef.current}/>,
<NavBarItem key='set' title='Settings' icon='cog' collapse={this.settingsRef.current}/>
]
const navbarSearch = <SearchBox globe={globe}/>
return (
<div>
<NavBar
logo=''
title='worldwind-react-globe-bs4'
href='https://github.com/emxsys/worldwind-react-globe-bs4'
items={navbarItems}
search={navbarSearch} />
<Container fluid className='p-0'>
<div className='globe'>
<Globe
ref={this.globeRef}
layers={layers}/>
</div>
<div className='overlayTools noninteractive'>
<Tools
globe={globe}
markers={this.markersRef.current}
markersLayerName='Markers'/>
</div>
<div className='overlayCards noninteractive'>
<CardColumns>
<LayersCard
ref={this.layersRef}
categories={['overlay', 'base']}
globe={globe} />
<MarkersCard
ref={this.markersRef}
globe={globe}
markersLayerName='Markers' />
<SettingsCard
ref={this.settingsRef}
categories={['setting']}
globe={globe} />
</CardColumns>
</div>
</Container>
</div>
)
}
}
License
MIT © Bruce Schubert