Advertisement
mk88vvv

Untitled

Dec 9th, 2022
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 09.121
  2. const viewer = new Cesium.Viewer("cesiumContainer", {
  3.   infoBox: false,
  4.   selectionIndicator: false,
  5.   shadows: true,
  6.   shouldAnimate: true,
  7. });
  8.  
  9. let entity;
  10. let entity2;
  11. //положение entity
  12. const height=0;
  13. const position = Cesium.Cartesian3.fromDegrees(
  14.   -123.0744619,
  15.   44.0503706,
  16.   height,
  17. );
  18. //положение entity2
  19. const position2 = Cesium.Cartesian3.fromDegrees(
  20.   -123.0745145,
  21.   44.05027029,
  22.   height,
  23. );
  24. const heading = Cesium.Math.toRadians(135);
  25. const pitch = 0;
  26. const roll = 0;
  27. const hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
  28. const orientation = Cesium.Transforms.headingPitchRollQuaternion(position,hpr);
  29.  
  30.     //
  31.  
  32. //entities
  33. entity = viewer.entities.add({
  34.   position: position,
  35.   orientation: orientation,
  36.   model: {
  37.     uri: "../SampleData/models/GroundVehicle/GroundVehicle.glb",
  38.     maximumScale: 20000,  
  39.     },
  40.   });
  41.  
  42. entity2 = viewer.entities.add({
  43.  position: position2,
  44.  orientation: orientation,
  45.  model: {
  46.    uri: "../SampleData/models/GroundVehicle/GroundVehicle.glb",
  47.    maximumScale: 20000,
  48.    },
  49.   });
  50. //outlines
  51. var handler = new Cesium.ScreenSpaceEventHandler(Cesium.Scene.canvas);
  52.   handler.setInputAction(function(movement) {        
  53.          var mousePosition = Cesium.Cartesian3.clone(movement.position);
  54.           entity.model.silhouetteAlpha = 1.0;
  55.           entity.model.silhouetteSize = 1.5;
  56.           entity.model.silhouetteColor = Cesium.Color.AQUAMARINE;
  57.           console.log("Машина выбрана");
  58.       }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
  59.  
  60. var handler2 = new Cesium.ScreenSpaceEventHandler(Cesium.Scene.canvas);
  61.   handler.setInputAction(function(movement) {        
  62.          var mousePosition = Cesium.Cartesian3.clone(movement.position);
  63.           entity.model.silhouetteSize = 0;
  64.           console.log("Машина больше не выбрана");
  65.       }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
  66.  
  67.  
  68.  
  69.  
  70. //buttons
  71. //move to entity
  72. Sandcastle.addToggleButton("entity", viewer.zoomTo(viewer.entities), function (
  73.   checked
  74. ) {
  75.   viewer.zoomTo(viewer.entities);
  76. });
  77. //move to entity2
  78. Sandcastle.addToggleButton("entity2", viewer.zoomTo(entity2), function (
  79.   checked
  80. ) {
  81.   viewer.zoomTo(entity2);
  82. });
  83.   viewer.trackedEntity = entity;
  84.  
  85.  
  86.  
  87. // Information about the currently selected feature
  88. const selected = {
  89.   feature: undefined,
  90.   originalColor: new Cesium.Color(),
  91. };
  92.  
  93. // An entity object which will hold info about the currently selected feature for infobox display
  94. const selectedEntity = new Cesium.Entity();
  95.  
  96. // Get default left click handler for when a feature is not picked on left click
  97. const clickHandler = viewer.screenSpaceEventHandler.getInputAction(
  98.   Cesium.ScreenSpaceEventType.LEFT_CLICK
  99. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement