KML

KmlLayer class

google.maps.KmlLayer class

A KmlLayer adds geographic markup to the map from a KML, KMZ or GeoRSS file that is hosted on a publicly accessible web server. A KmlFeatureData object is provided for each feature when clicked.

This class extends MVCObject.

Access by calling const {KmlLayer} = await google.maps.importLibrary("maps").
See Libraries in the Maps JavaScript API.

Constructor

KmlLayer

KmlLayer([opts])

Parameters:

Creates a KmlLayer which renders the contents of the specified KML/KMZ file (https://developers.google.com/kml/documentation/kmlreference) or GeoRSS file (http://www.georss.org).

Methods

getDefaultViewport

getDefaultViewport()

Parameters:  None

Return Value:  LatLngBounds

Get the default viewport for the layer being displayed.

getMap

getMap()

Parameters:  None

Return Value:  Map

Get the map on which the KML Layer is being rendered.

getMetadata

getMetadata()

Parameters:  None

Return Value:  KmlLayerMetadata

Get the metadata associated with this layer, as specified in the layer markup.

getStatus

getStatus()

Parameters:  None

Return Value:  KmlLayerStatus

Get the status of the layer, set once the requested document has loaded.

getUrl

getUrl()

Parameters:  None

Return Value:  string URL

Gets the URL of the KML file being displayed.

getZIndex

getZIndex()

Parameters:  None

Return Value:  number The z-index.

Gets the z-index of the KML Layer.

setMap

setMap(map)

Parameters:

Return Value:  None

Renders the KML Layer on the specified map. If map is set to null, the layer is removed.

setOptions

setOptions(options)

Parameters:

Return Value:  None

setUrl

setUrl(url)

Parameters:

  • urlstring

Return Value:  None

Sets the URL of the KML file to display.

setZIndex

setZIndex(zIndex)

Parameters:

  • zIndexnumber The z-index to set.

Return Value:  None

Sets the z-index of the KML Layer.

Inherited: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Events

click

function(kmlClickEvent)

Arguments:

This event is fired when a feature in the layer is clicked.

defaultviewport_changed

function()

Arguments:  None

This event is fired when the KML layers default viewport has changed.

status_changed

function()

Arguments:  None

This event is fired when the KML layer has finished loading. At this point it is safe to read the status property to determine if the layer loaded successfully.

KmlLayerOptions interface

google.maps.KmlLayerOptions interface

This object defines the properties that can be set on a KmlLayer object.

Properties

clickable optional

Type:  boolean optional

Default: true

If true, the layer receives mouse events.

map optional

Type:  Map optional

The map on which to display the layer.

preserveViewport optional

Type:  boolean optional

Default: false

If this option is set to true or if the map's center and zoom were never set, the input map is centered and zoomed to the bounding box of the contents of the layer.

screenOverlays optional

Type:  boolean optional

Default: true

Whether to render the screen overlays.

suppressInfoWindows optional

Type:  boolean optional

Suppress the rendering of info windows when layer features are clicked.

url optional

Type:  string optional

The URL of the KML document to display.

zIndex optional

Type:  number optional

The z-index of the layer.

google.maps.KmlLayerMetadata interface

Metadata for a single KML layer, in JSON format.

Properties

description

Type:  string

The layer's <description>, extracted from the layer markup.

hasScreenOverlays

Type:  boolean

Whether the layer has any screen overlays.

name

Type:  string

The layer's <name>, extracted from the layer markup.

snippet

Type:  string

The layer's <Snippet>, extracted from the layer markup

author optional

Type:  KmlAuthor optional

The layer's <atom:author>, extracted from the layer markup.

KmlLayerStatus constants

google.maps.KmlLayerStatus constants

The status returned by KmlLayer on the completion of loading a document. Specify these by value, or by using the constant's name. For example, 'OK' or google.maps.KmlLayerStatus.OK.

Access by calling const {KmlLayerStatus} = await google.maps.importLibrary("maps").
See Libraries in the Maps JavaScript API.

Constants

DOCUMENT_NOT_FOUND The document could not be found. Most likely it is an invalid URL, or the document is not publicly available.
DOCUMENT_TOO_LARGE The document exceeds the file size limits of KmlLayer.
FETCH_ERROR The document could not be fetched.
INVALID_DOCUMENT The document is not a valid KML, KMZ or GeoRSS document.
INVALID_REQUEST The KmlLayer is invalid.
LIMITS_EXCEEDED The document exceeds the feature limits of KmlLayer.
OK The layer loaded successfully.
TIMED_OUT The document could not be loaded within a reasonable amount of time.
UNKNOWN The document failed to load for an unknown reason.

KmlMouseEvent interface

google.maps.KmlMouseEvent interface

The properties of a click event on a KML/KMZ or GeoRSS document.

Properties

featureData

A KmlFeatureData object, containing information about the clicked feature.

latLng

Type:  LatLng

The position at which to anchor an infowindow on the clicked feature.

pixelOffset

Type:  Size

The offset to apply to an infowindow anchored on the clicked feature.

KmlFeatureData interface

google.maps.KmlFeatureData interface

Data for a single KML feature in JSON format, returned when a KML feature is clicked. The data contained in this object mirrors that associated with the feature in the KML or GeoRSS markup in which it is declared.

Properties

author

Type:  KmlAuthor

The feature's <atom:author>, extracted from the layer markup (if specified).

description

Type:  string

The feature's <description>, extracted from the layer markup.

id

Type:  string

The feature's <id>, extracted from the layer markup. If no <id> has been specified, a unique ID will be generated for this feature.

infoWindowHtml

Type:  string

The feature's balloon styled text, if set.

name

Type:  string

The feature's <name>, extracted from the layer markup.

snippet

Type:  string

The feature's <Snippet>, extracted from the layer markup.

google.maps.KmlAuthor interface

Contains details of the author of a KML document or feature.

Properties

email

Type:  string

The author's e-mail address, or an empty string if not specified.

name

Type:  string

The author's name, or an empty string if not specified.

uri

Type:  string

The author's home page, or an empty string if not specified.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-03-02 UTC.