<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Cesium Widget Example
This is an example notebook to sow how to bind the Cesiumjs with the IPython interactive widget system.
Step1:  The code
Step2:  Display the widget
Step3:  Add some data to the viewer
A simple czml
Step4:  A more complex CZML example
Step5:  Now let's make some interactive widget
Step6:  store the CZML objet in a dictionary and use their name as keys
define a function to switch between CZML
bind the IPython intercat class to the function
<ASSISTANT_TASK:>
Python Code:
from CesiumWidget import CesiumWidget
from IPython import display
from czml_example import simple_czml, complex_czml
Explanation: Cesium Widget Example
This is an example notebook to sow how to bind the Cesiumjs with the IPython interactive widget system.
End of explanation
cesiumExample = CesiumWidget(width="100%", enable_lighting=True)
Explanation: The code:
from czml_example import simple_czml, complex_czml
Simply import some CZML data for the viewer to display.
Create widget object
End of explanation
cesiumExample
Explanation: Display the widget:
End of explanation
cesiumExample.czml = simple_czml
Explanation: Add some data to the viewer
A simple czml
End of explanation
cesiumExample.czml = complex_czml
Explanation: A more complex CZML example
End of explanation
from __future__ import print_function
from ipywidgets import interact, interactive, fixed
from ipywidgets import widgets
Explanation: Now let's make some interactive widget:
End of explanation
myczml = {'simple_czml':simple_czml, 'complex_czml':complex_czml}
myplace = {'Eboli, IT':'', 'Woods Hole, MA':'', 'Durham, NH':''}
import geocoder
import time
for i in myplace.keys():
    g = geocoder.google(i)
    print(g.latlng)
    myplace[i]=g.latlng
myplace
@interact(z=(0,20000000), heading=(-180,180), pitch=(-90,90), roll=(-360,360), 
          Location=('Eboli, IT','Woods Hole, MA','Durham, NH'))
def f(z=1000000, heading=0, pitch=-90, roll=0, Location='Eboli, IT'):
    cesiumExample.zoom_to(myplace[Location][1], myplace[Location][0], z, heading, pitch, roll)
@interact(CZML=('simple_czml','complex_czml'))
def c(CZML=None):
    cesiumExample.czml = myczml[CZML]
cesiumExample
Explanation: store the CZML objet in a dictionary and use their name as keys
define a function to switch between CZML
bind the IPython intercat class to the function
End of explanation
<END_TASK>