mirror of
https://github.com/openglobus/openglobus.git
synced 2025-12-08 19:25:27 +00:00
91 lines
1.9 KiB
JavaScript
91 lines
1.9 KiB
JavaScript
import {
|
|
Globe,
|
|
Vector,
|
|
GlobusRgbTerrain,
|
|
OpenStreetMap,
|
|
Bing,
|
|
Object3d,
|
|
Vec3,
|
|
Entity,
|
|
control,
|
|
LonLat
|
|
} from "../../lib/og.es.js";
|
|
|
|
let objLayer = new Vector("Obj.Layer", {
|
|
scaleByDistance: [50, 50000, 1]
|
|
});
|
|
|
|
let globe = new Globe({
|
|
target: "earth",
|
|
name: "Earth",
|
|
terrain: new GlobusRgbTerrain(),
|
|
layers: [new OpenStreetMap(), new Bing(), objLayer],
|
|
});
|
|
|
|
globe.planet.addControls([
|
|
new control.GeoObjectEditor(),
|
|
new control.LayerSwitcher()
|
|
]);
|
|
|
|
const baseObj = Object3d.createCube(0.4, 2, 0.4)
|
|
.translate(new Vec3(0, 1, 0))
|
|
.setMaterial({
|
|
ambient: "#802727",
|
|
diffuse: "#ff5252",
|
|
});
|
|
|
|
const viewObj = Object3d.createFrustum(3, 2, 1)
|
|
.setMaterial({
|
|
ambient: "#28552b",
|
|
diffuse: "#1cdd23",
|
|
});
|
|
|
|
const viewObj2 = Object3d.createFrustum(3, 2, 1)
|
|
.setMaterial({
|
|
ambient: "#5f2563",
|
|
diffuse: "#ef00ff",
|
|
});
|
|
|
|
const pos = new LonLat(-105.6173319876, 39.615583413, 4057.9466);
|
|
|
|
let parentEntity = new Entity({
|
|
lonlat: pos,
|
|
independentPicking: true,
|
|
geoObject: {
|
|
instanced: true,
|
|
tag: `baseObj`,
|
|
object3d: baseObj,
|
|
}
|
|
});
|
|
|
|
let childEntity = new Entity({
|
|
cartesian: new Vec3(0, 1, 0),
|
|
independentPicking: true,
|
|
relativePosition: true,
|
|
geoObject: {
|
|
instanced: true,
|
|
tag: `viewObj`,
|
|
object3d: viewObj,
|
|
}
|
|
});
|
|
|
|
let childChildEntity = new Entity({
|
|
cartesian: new Vec3(0, 3, -1),
|
|
independentPicking: true,
|
|
relativePosition: true,
|
|
geoObject: {
|
|
instanced: true,
|
|
tag: `viewObj2`,
|
|
object3d: viewObj2,
|
|
}
|
|
});
|
|
|
|
childEntity.appendChild(childChildEntity);
|
|
parentEntity.appendChild(childEntity);
|
|
|
|
objLayer.add(parentEntity);
|
|
|
|
globe.planet.camera.setLonLat(
|
|
new LonLat(-105.61717175714179, 39.61567256262465, 4064.033358156039),
|
|
pos, // look point
|
|
); |