@@ -451,11 +451,11 @@ class GlobeRenderer {
451451 */
452452 addLayer ( type , layerConfig ) {
453453 if ( type === 'gradient_polyline' ) {
454- // Gradient polylines are only supported by the Cesium renderer
455454 if ( this . rendererType === 'cesium' ) {
456455 return this . _addCesiumGradientPolyline ( layerConfig )
457456 }
458- return null
457+ // LithoSphere 1.6.0+: map to 'gradient' layer type
458+ return this . _addLithoSphereGradient ( layerConfig )
459459 }
460460 if ( this . rendererType === 'lithosphere' ) {
461461 return this . renderer . addLayer ( type , layerConfig )
@@ -799,6 +799,25 @@ class GlobeRenderer {
799799 * @param {object } layerConfig - { name, geojson, gradientSettings, layerObj }
800800 * @returns {string } Layer name used as ID for removal
801801 */
802+ _addLithoSphereGradient ( layerConfig ) {
803+ const layerName = `${ layerConfig . name } _gradient`
804+
805+ // Remove existing gradient layer with that name if present
806+ this . renderer . removeLayer ( layerName )
807+
808+ const lithoConfig = {
809+ name : layerName ,
810+ on : true ,
811+ opacity : 1 ,
812+ geojson : layerConfig . geojson ,
813+ gradientSettings : layerConfig . gradientSettings ,
814+ }
815+
816+ this . renderer . addLayer ( 'gradient' , lithoConfig )
817+
818+ return layerName
819+ }
820+
802821 _addCesiumGradientPolyline ( layerConfig ) {
803822 const { name, geojson, gradientSettings } = layerConfig
804823 const layerName = `${ name } _gradient`
@@ -1484,8 +1503,6 @@ class GlobeRenderer {
14841503 */
14851504 removeLayer ( name ) {
14861505 if ( this . rendererType === 'lithosphere' ) {
1487- // Gradient polylines are Cesium-only; skip for LithoSphere
1488- if ( this . _layers && this . _layers [ name ] ?. type === 'gradient_polyline' ) return
14891506 return this . renderer . removeLayer ( name )
14901507 } else {
14911508 const layerInfo = this . _layers [ name ]
@@ -1771,6 +1788,12 @@ class GlobeRenderer {
17711788 }
17721789 }
17731790
1791+ if ( bestDist === Infinity ) {
1792+ this . _gradientHoverDot . show = false
1793+ this . _requestRender ( )
1794+ return
1795+ }
1796+
17741797 this . _gradientHoverDot . position = Cesium . Cartesian3 . fromDegrees (
17751798 bestLng , bestLat , bestElev
17761799 )
0 commit comments