Satellite tracking demo
Demo for this project https://bitbucket.org/mediagis/satellite-tracking
by winsent
HTML
<script src="http://openlayers.org/ol3-cesium/Cesium/Cesium.js"></script>
<script src="http://openlayers.org/ol3-cesium/ol3cesium.js"></script>
<link rel="stylesheet" href="http://openlayers.org/ol3-cesium/ol.css">
<div id="map"></div>
<input id="mapview" type="button" value="3D/2D view" onclick="javascript:ol3d.setEnabled(!ol3d.getEnabled())" />
CSS
html,body, #map {
padding: 0;
margin:0;
height:100%;
width: 100%;
}
#mapview {
position: absolute;
bottom: 2%;
left: 2%;
}
JavaScript
// Define layer
var satelliteSource = new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: '//satellite.mediagis.com/?s=25544|28931'
});
var satelliteLayer = new ol.layer.Vector({
source: satelliteSource
});
var satelliteTrackSource = new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: '//satellite.mediagis.com/orbit/?s=25544|28931'
});
var satelliteTrackLayer = new ol.layer.Vector({
source: satelliteTrackSource
});
// Init 2D map
var ol2d = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
satelliteLayer,
satelliteTrackLayer
],
controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
collapsible: false
})
}),
target: 'map',
view: new ol.View({
center: ol.proj.transform([0, 50], 'EPSG:4326', 'EPSG:3857'),
zoom: 2
})
});
// Init 3D map
ol3d = new olcs.OLCesium({map: ol2d});
var scene = ol3d.getCesiumScene();
var terrainProvider = new Cesium.CesiumTerrainProvider({
url : '//assets.agi.com/stk-terrain/world'
});
scene.terrainProvider = terrainProvider;
// Refresh layer
/*
window.setInterval(function() {
satelliteSource.changed();
},3000);
*/