i searched a lot for answer all over the internet and i did not found something..
is it possible?
thank you.
Hannah,
Is there an example which includes checking if the entity is visible? We need to do something similar and when we tried a little while back it worked well but if the entity is on the other side of the globe it still got a valid screen XY.
Thanks
Ian
--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
cesium-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<body>
<div id="cesiumContainer" onmousemove="show()" title=""></div>
<script>
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
var SelectedObj= null;
var whiteObjForExample= viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(-103.0,40.0),
ellipse: {
semiMinorAxis: 250000.0,
semiMajorAxis: 400000.0,
}
});
handler.setInputAction(function (movement) {
SelectedObj= getSelectedObjFromPoint(movement.endPosition);
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
function getSelectedObjFromPoint(Position){
var valueToReturn= null;
var pickedObject = viewer.scene.pick(Position);
var pickedObjects = viewer.scene.drillPick(Position);
var picked = pickedObjects[0];
if (!Cesium.defined(pickedObject)) {
picked = null;
valueToReturn = null;
}
else {
valueToReturn = Cesium.defaultValue(picked.id, picked.primitive.id);
}
return valueToReturn;
}
var show = function () {
if (SelectedObj != null) {
var obj = document.getElementById("cesiumContainer"); obj.title = "Selected Obj!";
}
else{
var obj = document.getElementById("cesiumContainer"); obj.title = "";
}
}
</script>
</body>Folks,
Does anyone have an example we can use to detect when an entity is visible?
Many thanks
Ian
/**++++++++++++++++++++++++++++++++++++++++* * TOOLTIP FOR HOVERING OVER ENTITIES * * ++++++++++++++++++++++++++++++++++++++++ * credit Ian Walberg, https://groups.google.com/forum/#!topic/cesium-dev/68GDFwLYWYk */var handlerToolTips = new Cesium.ScreenSpaceEventHandler(CesiumMapViewer.scene.canvas);var SelectedObj= null; handlerToolTips.setInputAction(function (movement) { SelectedObj= getSelectedObjFromPoint(movement.endPosition); if (SelectedObj != null) { var obj = document.getElementById("cesiumContainer"); obj.title = SelectedObj; } else{ var obj = document.getElementById("cesiumContainer"); obj.title = ""; } }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
function getSelectedObjFromPoint(Position){ /** credit Ian Walberg, https://groups.google.com/forum/#!topic/cesium-dev/68GDFwLYWYk var valueToReturn= null; var pickedObject = CesiumMapViewer.scene.pick(Position); var pickedObjects = CesiumMapViewer.scene.drillPick(Position); var picked = pickedObjects[0]; if (!Cesium.defined(pickedObject)) { picked = null; valueToReturn = null; } else if (pickedObject.id._properties !== undefined) { if (pickedObject.id._properties.Path_Name !== undefined && pickedObject.id._properties.danger_rating !== undefined) { valueToReturn = pickedObject.id._properties.Path_Name + " danger level = " + danger_level[pickedObject.id._properties.danger_rating]; } } else if (pickedObject.id.description !== undefined ){ valueToReturn = pickedObject.id.description._value.value; }
return valueToReturn; }/**++++++++++++++++++++++++++++++++++++++++* * TOOLTIP FOR HOVERING OVER ENTITIES * * ++++++++++++++++++++++++++++++++++++++++var handlerToolTips = new Cesium.ScreenSpaceEventHandler(CesiumMapViewer.scene.canvas);var SelectedObj= null; handlerToolTips.setInputAction(function (movement) { SelectedObj= getSelectedObjFromPoint(movement.endPosition); if (SelectedObj != null) { var obj = document.getElementById("cesiumContainer"); obj.title = SelectedObj; } else{ var obj = document.getElementById("cesiumContainer"); obj.title = ""; } }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
function getSelectedObjFromPoint(Position){ var valueToReturn= null; var pickedObject = CesiumMapViewer.scene.pick(Position); var pickedObjects = CesiumMapViewer.scene.drillPick(Position); var picked = pickedObjects[0]; if (!Cesium.defined(pickedObject)) { picked = null; valueToReturn = null; } else if (pickedObject.id._properties !== undefined) { if (pickedObject.id._properties.Path_Name !== undefined && pickedObject.id._properties.danger_rating !== undefined) { valueToReturn = pickedObject.id._properties.Path_Name + " danger level = " + danger_level[pickedObject.id._properties.danger_rating]; } } else if (pickedObject.id.description !== undefined ){ valueToReturn = pickedObject.id.description._value.value; }
return valueToReturn; }