Show Preview
Show Cesium Code
Show Google Earth Code
For Google Earth Developers
All Google Earth examples
Additional Resources
Tutorials
Cesium Sandcastle
Reference Documentation
Relevant Cesium Source
Relevant Google Earth Source (
link
)
ge.getLayerRoot().enableLayerById(ge.LAYER_TERRAIN, true); ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true); google.earth.addEventListener(ge.getGlobe(), 'click', function(evt) { if (evt.getButton() != 0) return; // remove old placemarks if (globePlacemark) ge.getFeatures().removeChild(globePlacemark); if (terrainPlacemark) ge.getFeatures().removeChild(terrainPlacemark); if (buildingsPlacemark) ge.getFeatures().removeChild(buildingsPlacemark); // hit test and create new placemarks var hitTestResult = ge.getView().hitTest(evt.getClientX(), ge.UNITS_PIXELS, evt.getClientY(), ge.UNITS_PIXELS, ge.HIT_TEST_GLOBE); if (hitTestResult) { globePlacemark = makePlacemark(hitTestResult.getLatitude(), hitTestResult.getLongitude(), hitTestResult.getAltitude(), ge.ALTITUDE_ABSOLUTE, 'G'); ge.getFeatures().appendChild(globePlacemark); } hitTestResult = ge.getView().hitTest(evt.getClientX(), ge.UNITS_PIXELS, evt.getClientY(), ge.UNITS_PIXELS, ge.HIT_TEST_TERRAIN); if (hitTestResult) { terrainPlacemark = makePlacemark(hitTestResult.getLatitude(), hitTestResult.getLongitude(), hitTestResult.getAltitude(), ge.ALTITUDE_ABSOLUTE, 'T'); ge.getFeatures().appendChild(terrainPlacemark); } hitTestResult = ge.getView().hitTest(evt.getClientX(), ge.UNITS_PIXELS, evt.getClientY(), ge.UNITS_PIXELS, ge.HIT_TEST_BUILDINGS); if (hitTestResult) { buildingsPlacemark = makePlacemark(hitTestResult.getLatitude(), hitTestResult.getLongitude(), hitTestResult.getAltitude(), ge.ALTITUDE_ABSOLUTE, 'B'); ge.getFeatures().appendChild(buildingsPlacemark); } }); function makePlacemark(lat, lng, alt, altMode, iconStr) { var icon = ge.createIcon(''); icon.setHref('http://maps.google.com/mapfiles/kml/paddle/' + iconStr + '.png'); var style = ge.createStyle(''); style.getIconStyle().setIcon(icon); style.getIconStyle().getHotSpot().set(0.5, ge.UNITS_FRACTION, 0, ge.UNITS_FRACTION); var pt = ge.createPoint(''); pt.set(lat, lng, alt, altMode, false, false); var pm = ge.createPlacemark(''); pm.setGeometry(pt); pm.setStyleSelector(style); return pm; }