mirror of
https://github.com/openglobus/openglobus.git
synced 2025-12-08 19:25:27 +00:00
90 lines
2.1 KiB
JavaScript
Executable File
90 lines
2.1 KiB
JavaScript
Executable File
import {
|
|
Globe,
|
|
control,
|
|
GlobusRgbTerrain,
|
|
Vector,
|
|
OpenStreetMap,
|
|
Entity,
|
|
Bing,
|
|
Object3d
|
|
} from "../../lib/@openglobus/og.esm.js";
|
|
|
|
|
|
let dockLayer = new Vector("dock", {
|
|
scaleByDistance: [1, 1, 1]
|
|
});
|
|
|
|
let cranesLayer = new Vector("crane", {
|
|
scaleByDistance: [1, 1, 1]
|
|
});
|
|
|
|
function setPitch(a) {
|
|
cranesLayer.each((e) => {
|
|
e.geoObject.setPitch(a)
|
|
});
|
|
}
|
|
|
|
function setYaw(a) {
|
|
cranesLayer.each((e) => {
|
|
e.geoObject.setYaw(a);
|
|
});
|
|
}
|
|
|
|
function setRoll(a) {
|
|
cranesLayer.each((e) => {
|
|
e.geoObject.setRoll(a);
|
|
});
|
|
}
|
|
|
|
async function main() {
|
|
let sat = new Bing();
|
|
let osm = new OpenStreetMap();
|
|
|
|
const dock = await Object3d.loadObj('./dock.obj');
|
|
|
|
const globus = new Globe({
|
|
target: "earth",
|
|
name: "Earth",
|
|
terrain: new GlobusRgbTerrain(),
|
|
layers: [sat],
|
|
//atmosphereEnabled: true,
|
|
fontsSrc: "../../res/fonts",
|
|
sun: {
|
|
stopped: false
|
|
},
|
|
viewExtent: [33.1758537, 69.0755299, 33.2251571, 69.08960050]
|
|
});
|
|
|
|
for (let i = 0; i < dock.length; i++) {
|
|
|
|
let layer = new Vector(dock[i].name, {
|
|
scaleByDistance: [1, 1, 1],
|
|
entities: [
|
|
new Entity({
|
|
lonlat: [33.2017379, 69.0821338, 19],
|
|
geoObject: {
|
|
color: "white",
|
|
scale: 3.0,
|
|
instanced: true,
|
|
tag: `dock-${i}`,
|
|
object3d: dock[i],
|
|
yaw: -52,
|
|
pitch: 0
|
|
}
|
|
})
|
|
]
|
|
});
|
|
|
|
layer.addTo(globus.planet);
|
|
}
|
|
|
|
globus.planet.addControl(new control.DebugInfo());
|
|
globus.planet.addControl(new control.KeyboardNavigation());
|
|
globus.planet.addControl(new control.LayerSwitcher());
|
|
globus.planet.addControl(new control.TimelineControl());
|
|
globus.planet.addControl(new control.GeoObjectEditor());
|
|
globus.planet.addControl(new control.ToggleWireframe());
|
|
}
|
|
|
|
main()
|