KML Map Layer

This is a great feature. I think there is a limitation to the file size you can import as KML, right @Peter?

Yes @Santiago there are some constraints on the size of KML files that can be displayed (you can read more here):

  • Maximum fetched file size (raw or compressed): 3MB
  • Maximum uncompressed KML file size: 10MB
  • Maximum number of network links: 10
  • Maximum number of total document-wide features: 1000
  • Maximum number of KML layers: 10 to 20

These constraints are established by Google Maps (we use the Google Maps library to display maps in AppSheet) and we do not have the ability to modify them. An example of a KML file that fits these constraints is:

Hi there,
I´ve tried to use a KML file which I created myself on google mymaps to import to appsheet.

I´ve done what the appsheet blog was displaying.

No results

Hi - it may be that the size of the file exceeds what Google allows. Check the AS docs for details and to confirm this, but I believe there is a 8 mb limit.

@Jonyxjake If you’re hosting in Google Drive, you may have a hard time linking directly to the file, instead of Google Drive’s file preview page. Wherever you’re hosting the file, make sure your URL ends with the extension ‘.kml’

1 Like

yep, u were right. I uploaded it my own website and used a kml networklink generator. It worked out for me! Thanks for the hint

1 Like

Hi @Peter,
I tried to use a kml as a secondary data layer. But I think this is not possible. Can you confirm?

@Fabian I believe it can only be used right now in the primary map layer, but may evolve. What’s your use-case?

Hi @Peter,
would be great if we could use kml in a second layer.

I want the user to have the possibility to show or to hide the kml.
For that I created an extra table with just one row and the kml attached to an address column.
Further I created a slice for that table. This slice is my secondary data layer.
In my dashboard I have also an ENUM with Buttons where the user can select or deselect the KML.
If selected, the KML slice contains the one row with the kml. If deselected, the KML slice is empty and the KML is hidden in the map.
You can see it in my App
View: KD Planung
The KML Layer is called “Fahrzeugpauschalen”

1 Like

Hi @Peter do you have any timeline for enabling this?

@Fabian no timeline currently, but the feedback is very helpful, being considered by the team. Thank you!

@Peter I was reading the documentation for working with maps and it says that max number of KML layers is 10-20; does this mean we can add multiple layers? I think we are looking at 3 possible layers to the current base map: Level A evacuation, Level B evacuation, and Level C…

Also, when GIS exports the file it automatically saves it as a .kmz file not .kml - they don’t get an option to save as just .kml. I believe I am looking into hosting via Google Drive , seems like that is the easiest?? Are you familiar with kmz files and how should I handle this?

Last question, I currently have our evacuation centers pinned to the base google map. How are the pins impacted by the layers? Do they need to be redone? Sorry if this is a stupid question. I’ve never worked with layers before.


@tcanelli a few ideas:

  • The ‘10-20 layers’ refers to the layers within the KML file itself (not number of KML files that can be layered within your AppSheet app.
  • I believe only KML files will work for now. There are some online KMZ to KML conversion tools that may work for you. Also, if you may be able to use Google ‘My Maps’ to help create / export custom maps and shapes to either KML or KMZ files. For example, this U.S. map file in a custom Google Map.
  • Like mentioned above, the KML file must be linked to directly - Google Drive
  • KML layers are basically just static layers that don’t affect plotted points in any way - they’re just a layer applied to the base map. Depending on how you’re trying to present the information, it may make more sense to have multiple map views, each with a unique XY-Type map layer, instead of the KML layer(s). It’s worth exploring some of these options: XY Column Type