KML + 3d Terrain datasets


I have loaded a KML file and all works well when I do not add any terrain datasets. However, when I include a terrainProvider on my viewer instance, the following happens. The markers float around and are not anchored.

What do I need to understand/learn/read about 3D terrain in cesium that would be causing this? Is it possible to do yet? I am a relatively experienced UI/JS developer, but am new to the 3D globe/Cesium world. Not asking for anyone to hold my hand, just hoping someone can point me in the right direction! Docs, article, whatever :slight_smile:


A better video:

Also, just noticed the Cesium logo is missing from my app. This will ABSOLUTELY not be the case when this thing hits production. It was not intentionally removed :slight_smile:

Maybe because the height/elevation is 0 with no terrain and it bumps up to something like 5000 ft with terrain?

It looks like your billboards are being added below the terrain. To clam them to the terrian, use the clampToGround option:

var options = {
camera :,
canvas : viewer.scene.canvas,
clampToGround: true

viewer.dataSources.add(Cesium.KmlDataSource.load(’/path/to/kml’, options));




Also, we don’t require you to show our logo in your published app. But we do appreciate the attribution if you decide leave it in =)


Holy Moly. That was it, Hannah. Silly me.
I need to just read the docs more thoroughly! Thank you so much.

I will totally draw attention to the project as much as I can. Cesium is making my vision become a reality and I love it so so much. It blows me away how well done the whole thing is and how open/helpful y’all on the core team are.
My favorite thing in web dev right now, by far.

Thanks! It’s great to hear that people are enjoying our software.
What kind of application are you building?


I have had this idea for a side project for a few years now and Cesium is the only tool I’ve felt like I could really execute with the level of finesse and elegance I want the UX to have: I am a very active person (lived in Colorado my whole life) and I have always written down the Lat/Lng coordinates of place I’d like to visit. Some of them are obscure trailheads, wedged between mountain valleys with no name. It’s so hard to document them and tools like Google Earth just have clunky UI’s that aren’t very fun to use. Plus, I don’t want my data + plans being held/known by some mass corporation. Many outdoors-y people reject tech, because a lot of the good tools are built by companies they don’t trust. So I am starting small by building a simple app that allows you to mark destinations you’d like to visit, organize them into trips, catalog all your gear and what you need to bring along with you. You’ll be able to create packing list based off the gear in your catalog so you’ll never forget something again; From snowboard boots to a tube of chapstick. It’s all important in the backcountry.

There are other apps that do similar things, sure… But I am mainly doing this because I want to take my love for software and the outdoors and meld them together while building a useful tool for myself/a great portfolio piece. I’d love to share my progress with your team as I move forward! :slight_smile:
But yeah, the emphasis is going to be on an extremely elegant, mature, intuitive UI that makes the user feel in total control… And Cesium is the star, the foundation for my idea to flourish: I just need to be smart how I build around it.

That sounds like a really neat application! Keep us posted on the progress.
We always like to feature new apps on the demos page on our website, so let me know if you’d like to write up a showcase once your project is live.