BUG [cesium-dev] Re: Porting over GE to Cesium using network links with KML files

Hello,

Has anyone from the cesium development team looked at this bug ?

Link below works with CZML data source… Click on a point and description stays up

http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Hello%20World.html&label=Showcases&gist=8ba5cd9007c969080b176ad857148a2e

Bug……

KML Data source. Click on point on the map and the description pops up then goes away at each interval
time.

http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Hello%20World.html&label=Showcases&gist=0aa3e1f2794962a52505c98237f0b553

Please let me know I sent this two you all over a week and have not heard back from anyone.

Thank you,

Carlo Miceli

Carlo,

I believe this is working as intended. KML.load always removes all data and recreates it, which means it’s actually creating an identical (but not the same) entity every time you call load. This is why the infobox goes away, the old point was removed. This is even the case in Google Earth if you use a refreshing KML link, the balloon goes away. This is a side effect of the way the KML spec is written.

The correct way to do this in KML is to use NetworkLinkControl’s update field: https://developers.google.com/kml/documentation/kmlreference#networklinkcontrol which unfortunately Cesium does not have support for your (though we would be happy to look at a PR to add it if anyone wants to work on it).

A potential workaround would be for you to track the selected entity and set it back programmatically after you call load (but that still might result in the infobox blinking off and then back on again).

Sorry I don’t have a better answer for you, but we do plan on continuing to improve KML as time goes on.

My preferred solution (though I’m obviously biased) would be to use CZML for this instead, but I understand many users have a library of KML they need to support so this solution isn’t always viable.

Hi Matt,

Yes this is what we used before that I am trying to port to cesium (NetworkLinkControl's update field).

Is there a way to select the track on the map and have the infobox show up on another screen as a eventListener ? We had an area on the web page that when a user select a track we call it a hooked object and this was displayed in on the screen. We were able to hook up to 3 tracks. I can send you a google api example if you needed more clarification of the functionality I am trying to port.

Let me know,

Thank You,

Carlo

Hi Matt,

With my continue port of KML to Cesium I have run across another question I am hoping you can help with especially if I am converting to CZML

as you suggest.

In my file I have a file as an icon. Look below at the example. How does this Icon in my KML file port over to a CZML json object.

Do you have an example for me. I have the rest of the KML ported to czml with a writer I wrote but was not sure what to do with the ICON to port over.

Thank You

Carlo

Example (kml file)

1092 {BILL CENAC}0.5552.0760.65./trackAIS.png-82.562263489,27.68967247,10.6857<![CDATA[

TRACK
Item Value Units
Latitude 27.6897 deg WGS 84
Longitude -82.5623 deg WGS 84
Speed 6.8 knots
Heading 52.1 deg
Kind AIS
Age 15:48:15 duration
Last Update 0x02010001 SensorId
Last Update 2017-06-20T15:59:26.773Z
]]>