KML Explore: KML and KMZ maps, layer by layer
GPX Explore is for tracks: one line with its times and heights, a ride or a walk. A lot of the map files people send each other aren’t tracks, though. They are KML: field and parcel boundaries, site plans, trail maps, the outlines a county or a census publishes, the earthquakes, fires and storms that agencies publish as KML and KMZ files. A KML is a whole map. It has folders of placemarks, paths and areas, each with its own pin and colors, a description, a table of attributes, and sometimes a picture laid on the ground or a legend fixed to the screen. A KMZ is the same, zipped together with its pictures.
KML Explore is GPX Explore’s sibling for those files, on the Mac, iPhone and iPad. It opens KML and KMZ maps with their folders, placemarks, styles and descriptions, and it edits them while keeping the rest of the file’s KML.

The map, layer by layer
The first job is the plain one: open the file and see the map in it. The layer list is the file’s own folders, in its order, with an eye on each row that works the way KML’s switches do: a folder off hides everything in it, one placemark switched on in a hidden folder shows alone, and radio folders keep one child at a time. Each placemark is drawn in the file’s own style, the standard pushpins and paddles in its colors, its line widths and fills, with names under the pins. Select one and the inspector shows its description as written, pictures and links included, its attributes, its time and its position, and the card over the map gives the area and perimeter, the length or the position in large type. Network links, tours and 3D models stay in the file; KML Explore doesn’t load or play them.
The Census Bureau’s boundary files were a good test. They come out of a converter that writes every name as <at><openparen>Colorado<closeparen>. KML Explore shows Colorado, the inspector shows what the file writes, and the file’s own text is kept for when it is saved. Those files, Google’s KML samples, a week of USGS earthquakes, a day of NASA’s fire detections and a NOAA storm outlook are built into the app, so there is something to open on the first launch.

The layer list’s search looks through placemark names and attribute values, and shows only what it found: the list becomes one group, Search Results, and the map shows the matches alone, framed. Search the Census Bureau’s counties for Washington and you get 70: the 31 counties named Washington, and the 39 counties of Washington State, found by the state’s name in their attributes. Clear the search and your layers come back as they were.

Looking never changes the file
I decided early that looking at a file must never change it. When you switch layers on and off, KML Explore remembers that on your device, not in the file, so a file you were sent stays the file you were sent, and one you only looked at is never rewritten. When you do want the layers you chose to travel with the file, Map ▸ Save Shown Layers to the File writes them in, on purpose, and Undo takes it back.
The same goes for the web. A KML can point at icons, images and pictures on any server. KML Explore loads none of them until you choose Load for that file, or turn it on for every file in Settings, so a file from a stranger can’t make the app contact anyone just by being opened. Scripts in descriptions never run.
Common file errors
The simplest problem with a KML file is that it won’t open. KML comes out of all kinds of programs, hand edits, spreadsheets and mail, and some of it isn’t quite valid XML, so a strict reader refuses it. KML Explore reads strictly first, and when that fails it repairs a copy and opens that, with a note over the map, Repaired to open, whose Details list what it repaired. The common errors it repairs include an “&” that was never escaped, HTML entities like , characters in Windows Latin 1 in a file that says it is UTF-8, text before the XML starts, HTML pasted straight into a description, a namespace used without being declared, and a KMZ whose map isn’t named .kml. Some downloads cut short open too, read as far as they go. Viewing leaves the original file unchanged; editing saves the repaired version.

When a file can’t be opened, the least an app can do is say why. For broken XML, KML Explore gives the line and column where it breaks. Otherwise it says what the file really is: a web page saved under a KML name, which is what you get when a link needed a sign-in, a GPX or GeoJSON file, or an empty one.
Where you are, and where it is
Most KML is opened to find something. Turn on My Location and the card for a selected placemark says how far away it is and in which direction, to its nearest point. For an area it says whether you are inside it and how far it is to the edge, with the accuracy of the fix and a button for directions in Apple Maps. A file’s lines are only as exact as whoever drew them, so it is a map, not a survey, but it answers “am I on the parcel yet” well enough to walk with.
Positions read in decimal degrees, degrees and decimal minutes, degrees, minutes and seconds, UTM or MGRS, and Find a Place, which comes from Geo Elevation, goes anywhere by name or address, or by a coordinate in any of those five forms. Areas are measured with their holes subtracted, in acres, hectares or seven other units, and lengths in six.
Editing that keeps the rest of the file
A KML file can hold more than KML Explore draws: network links, tours, 3D models, another program’s own extensions. KML Explore keeps the file as its tree of elements, and the map, the layer list and the editor are views of that tree. An edit changes the elements it touches, and saving keeps the file’s other KML, including extensions KML Explore doesn’t edit. We check this on every sample file with random edits of every kind, undone and redone, each compared with the file read again from scratch; undoing everything has to give back the tree that was opened.

The editing tools are the ones Geo Measure and GPX Explore already had, brought over: points as handles you drag, with a loupe that shows where one lands, a + between two points to add one, paths and area outlines straight from point to point or along paths and roads with Apple Maps, freehand, holes cut in an area. The Points table, for exact work, lists every point with its coordinates, takes coordinates to seven decimal places in its cells on the Mac or in Edit Point on iPhone and iPad, and nudges a point by 10 centimeters, a meter or ten. Circles come from Geo Measure too: KML has no circle, so KML Explore writes one the way Geo Measure does, an outline with its center and radius kept, and reads it back as a circle you resize by its edge. The inspector edits names, descriptions, attributes, styles and heights, and the layer list makes, renames and rearranges folders. Every change is one step of undo.
When the map has to go somewhere else, File ▸ Export… writes waypoints and tracks as GPX for a GPS, shapes with their attributes as GeoJSON for QGIS and web maps, or placemarks with their attributes and measurements as CSV for a spreadsheet. The KML stays as it is.
Quick Look
On the Mac, press the space bar on a KML or KMZ in the Finder and Quick Look shows the map, with a scale and a list of what is in it, and the Finder gives each file a picture of its own map as its icon. On iPhone and iPad the same pictures show in Files. They are drawn on your device from the file alone, on a small map of the world: no map tiles, no server.
Free, and Pro
Viewing is free: the layers, descriptions and attributes, the measurements, search, coordinates, Find a Place, My Location and Quick Look, with no account and no ads. Changing a file is KML Explore Pro: editing, New Map, saving the layers you chose, and export to GPX, GeoJSON and CSV. It is one purchase in the app, with no subscription, for your Mac, iPhone and iPad.
KML Explore is on the Mac, iPhone and iPad. The product page has the six sample files to download, if you have no KML of your own at hand.