Looking for seasoned advice about offline implementation

I’m in the process of updating our client/server which runs in a disconnected environment (i.e. on an Airplane with no internet access) and have a client working that shows maps and the flight path.

I’m looking to add state boundaries and city/Points of Interest labels to the map and am looking at the options.

From what I can tell there seems to be two strategies:

  1. Generate the maps with the labels embedded as images. This seems to be what the Bing Maps Aerial with Labels has done, but seems to have the disadvantage that the labels can be upside down depending on the camera angle.
  2. Use CZML to generate the layer of boundaries and text (this is one discussion on the approach). However, unless I am misunderstanding, it would seem that CesiumJS would have to load all of the data for the entire world.

So… this leads me to some questions.

  • Am I missing some other obvious option?
  • Are either of these options much better for some reason?
  • For the first option, is there a good tool for laying down labels on world images that I already have?

Many thanks in advance!