# Change "Location" in the Shadow example

**URL:** <https://community.cesium.com/t/change-location-in-the-shadow-example/4305>\
**Category:** CesiumJS\
**Created:** [July 1, 2016, 11:06am UTC](https://community.cesium.com/t/change-location-in-the-shadow-example/4305 "2016-07-01T11:06:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![alfredo.debonis.baen](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@alfredo.debonis.baen](https://community.cesium.com/u/alfredo.debonis.baen)\
**Post date:** [July 1, 2016, 11:06am UTC](https://community.cesium.com/t/change-location-in-the-shadow-example/4305/1 "2016-07-01T11:06:58Z")

</div>

Hi!

I am a beginner with Cesium.

I am trying to use "shadow example" like my base map.

I want to transform the original "locations" (Exton, Everest, etc...) code in new Locations:

The first one: 28.411617° N 16.32725° W  
The second one: 28.467404° N 16.2469334° W  
(Both in Tenerife Island)

I tried to put my latitudes and longitudes in the code, changing with "Exton" or "Everest".... but it doesn´t work.

Please, help me!

var viewer = new Cesium.Viewer('cesiumContainer', {  
&nbsp;&nbsp;&nbsp;&nbsp;infoBox : false,  
&nbsp;&nbsp;&nbsp;&nbsp;selectionIndicator : false,  
&nbsp;&nbsp;&nbsp;&nbsp;shadows : true,  
&nbsp;&nbsp;&nbsp;&nbsp;terrainShadows : true  
});

viewer.terrainProvider = new Cesium.CesiumTerrainProvider({  
&nbsp;&nbsp;&nbsp;&nbsp;url : '[//assets.agi.com/stk-terrain/world](https://assets.agi.com/stk-terrain/world)',  
&nbsp;&nbsp;&nbsp;&nbsp;requestWaterMask : true,  
&nbsp;&nbsp;&nbsp;&nbsp;requestVertexNormals : true  
});

var shadowMap = viewer.shadowMap;  
shadowMap.maxmimumDistance = 10000.0;

var cesiumAir = viewer.entities.add({  
&nbsp;&nbsp;&nbsp;&nbsp;name : 'Cesium Air',  
&nbsp;&nbsp;&nbsp;&nbsp;height : 20.0,  
&nbsp;&nbsp;&nbsp;&nbsp;model : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri : '../../SampleData/models/CesiumAir/Cesium\_Air.glb'  
&nbsp;&nbsp;&nbsp;&nbsp;}  
});

var groundVehicle = viewer.entities.add({  
&nbsp;&nbsp;&nbsp;&nbsp;name : 'Ground Vehicle',  
&nbsp;&nbsp;&nbsp;&nbsp;height : 0.0,  
&nbsp;&nbsp;&nbsp;&nbsp;model : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri : '../../SampleData/models/CesiumGround/Cesium\_Ground.glb'  
&nbsp;&nbsp;&nbsp;&nbsp;}  
});

var cesiumMan = viewer.entities.add({  
&nbsp;&nbsp;&nbsp;&nbsp;name : 'Cesium Man',  
&nbsp;&nbsp;&nbsp;&nbsp;height : 0.0,  
&nbsp;&nbsp;&nbsp;&nbsp;model : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri : '../../SampleData/models/CesiumMan/Cesium\_Man.glb'  
&nbsp;&nbsp;&nbsp;&nbsp;}  
});

var woodTower = viewer.entities.add({  
&nbsp;&nbsp;&nbsp;&nbsp;name : 'Wood Tower',  
&nbsp;&nbsp;&nbsp;&nbsp;height : 0.0,  
&nbsp;&nbsp;&nbsp;&nbsp;model : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri : '../../SampleData/models/WoodTower/Wood\_Tower.gltf'  
&nbsp;&nbsp;&nbsp;&nbsp;}  
});

var simpleCity = viewer.entities.add({  
&nbsp;&nbsp;&nbsp;&nbsp;name : 'Simple City',  
&nbsp;&nbsp;&nbsp;&nbsp;height : 0.0,  
&nbsp;&nbsp;&nbsp;&nbsp;model : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri : '../../SampleData/models/ShadowTester/Shadow\_Tester\_4.gltf'  
&nbsp;&nbsp;&nbsp;&nbsp;}  
});

var locations = {  
&nbsp;&nbsp;&nbsp;&nbsp;Exton : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : -1.31968, //here I try to make changes, with new longitude and latitude. I don´t which is the systen of latitude-longitude that Cesium uses :(//  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.698874,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 374.14210186070714,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457522.154792  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;HalfDome : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : -2.086267733294987,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.6587491773830219,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 2640.716312584986,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457507.247512  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;Everest : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : 1.517132688,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.4884844964,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 8773.17824498951,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457507.620845  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;PinnaclePA : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : -1.3324415110874286,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.6954224325279967,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 179.14276256241743,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457523.041620  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;SenecaRocks : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : -1.3851775172879768,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.6778211831093554,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 682.5893300695776,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457522.097512  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;Space : {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longitude : -1.31968,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;latitude : 0.698874,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height : 2000000.0,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;date : 2457522.154792  
&nbsp;&nbsp;&nbsp;&nbsp;}  
};

var i;  
var entities = viewer.entities.values;  
var entitiesLength = entities.length;

function setLocation(location) {  
&nbsp;&nbsp;&nbsp;&nbsp;var longitude = location.longitude;  
&nbsp;&nbsp;&nbsp;&nbsp;var latitude = location.latitude;  
&nbsp;&nbsp;&nbsp;&nbsp;var height = location.height;

&nbsp;&nbsp;&nbsp;&nbsp;for (i = 0; i \< entitiesLength; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var entity = entities[i];  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entity.position = Cesium.Cartesian3.fromRadians(longitude, latitude, height + entity.height);  
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;viewer.clock.currentTime = new Cesium.JulianDate(location.date);  
&nbsp;&nbsp;&nbsp;&nbsp;viewer.clock.multiplier = 1.0;  
}

function setLocationFunction(location) {  
&nbsp;&nbsp;&nbsp;&nbsp;return function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setLocation(location);  
&nbsp;&nbsp;&nbsp;&nbsp;};  
}

var locationToolbarOptions = ;  
for (var locationName in locations) {  
&nbsp;&nbsp;&nbsp;&nbsp;if (locations.hasOwnProperty(locationName)) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var location = locations[locationName];  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;locationToolbarOptions.push({  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text : locationName,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onselect : setLocationFunction(location)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}

Sandcastle.addToolbarMenu(locationToolbarOptions);

function setEntity(entity) {  
&nbsp;&nbsp;&nbsp;&nbsp;for (i = 0; i \< entitiesLength; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entities[i].show = false;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;entity.show = true;  
&nbsp;&nbsp;&nbsp;&nbsp;viewer.trackedEntity = entity;  
}

function setEntityFunction(entity) {  
&nbsp;&nbsp;&nbsp;&nbsp;return function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setEntity(entity);  
&nbsp;&nbsp;&nbsp;&nbsp;};  
}

var entityToolbarOptions = ;  
for (i = 0; i \< entitiesLength; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;var entity = entities[i];  
&nbsp;&nbsp;&nbsp;&nbsp;entityToolbarOptions.push({  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text : entity.name,  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onselect : setEntityFunction(entity)  
&nbsp;&nbsp;&nbsp;&nbsp;});  
}

Sandcastle.addToolbarMenu(entityToolbarOptions);

Sandcastle.addToolbarButton('Toggle Shadows', function() {  
&nbsp;&nbsp;&nbsp;&nbsp;viewer.shadows = !viewer.shadows;  
});

Sandcastle.addToolbarButton('Toggle Terrain Shadows', function() {  
&nbsp;&nbsp;&nbsp;&nbsp;viewer.terrainShadows = !viewer.terrainShadows;  
});

Sandcastle.addToolbarButton('Soft Shadows', function() {  
&nbsp;&nbsp;&nbsp;&nbsp;shadowMap.softShadows = !shadowMap.softShadows;  
});

Sandcastle.addToolbarMenu([{  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Size : 2048',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shadowMap.size = 2048;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Size : 1024',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shadowMap.size = 1024;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Size : 512',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shadowMap.size = 512;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Size : 256',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shadowMap.size = 256;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}]);

function setShadows(castShadows, receiveShadows) {  
&nbsp;&nbsp;&nbsp;&nbsp;for (i = 0; i \< entitiesLength; ++i) {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entities[i].model.castShadows = castShadows;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entities[i].model.receiveShadows = receiveShadows;  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}

Sandcastle.addToolbarMenu([{  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Entity Shadows',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setShadows(true, true);  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Cast Only',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setShadows(true, false);  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Receive Only',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setShadows(false, true);  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}, {  
&nbsp;&nbsp;&nbsp;&nbsp;text : 'Off',  
&nbsp;&nbsp;&nbsp;&nbsp;onselect : function() {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setShadows(false, false);  
&nbsp;&nbsp;&nbsp;&nbsp;}  
}]);

setLocation(locations.Exton);  
setEntity(cesiumAir);

---

<div class="post-metadata">

**Author:** ![hannah](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/hannah/32/4509_2.png) [@hannah](https://community.cesium.com/u/hannah)\
**Post date:** [July 1, 2016, 1:36pm UTC](https://community.cesium.com/t/change-location-in-the-shadow-example/4305/2 "2016-07-01T13:36:58Z")

</div>

Hello,

Cesium uses radians as a default measurement. If you convert your degrees to radians, the example should work.

Here is an example:

var longitude = Cesium.Math.toRadians(myLongitudeDegrees);  
var latitude = Cesium.Math.toRadians(myLatitudeDegrees);

``

Best,

Hannah

---

<div class="post-metadata">

**Author:** ![alfredo.debonis.baen](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@alfredo.debonis.baen](https://community.cesium.com/u/alfredo.debonis.baen)\
**Post date:** [July 1, 2016, 2:31pm UTC](https://community.cesium.com/t/change-location-in-the-shadow-example/4305/3 "2016-07-01T14:31:15Z")

</div>

I´m trying to change... but it doesn´t work (Black space in my mirror....)  
I´m doing something wrong.

Where I must change the code?

---

<div class="post-metadata">

**Author:** ![alfredo.debonis.baen](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@alfredo.debonis.baen](https://community.cesium.com/u/alfredo.debonis.baen)\
**Post date:** [July 1, 2016, 2:45pm UTC](https://community.cesium.com/t/change-location-in-the-shadow-example/4305/4 "2016-07-01T14:45:00Z")

</div>

NOWWW!!!

It works my friend! Great.

Only one more question... Can I put the camera little far away?  
I don´t know where is the "camera options" in my code

Thank you so much!
