getUrl()
An object's URL is its base address concatenated with its ID using the
# character. This URL can be returned by calling
getUrl() on the object.
var placemarkUrl = placemark.getUrl();
Objects created with the API (rather than imported as KML) do not have a
base address; their URL will consist of a # character and their
ID.
getComputedStyle()
Returns the object's style properties as a
KMLStyle
object, merging any inline styles with styles imported from
setHref() or a StyleUrl.
var placemark = ge.createPlacemark('');
placemark.setStyleUrl(
'http://googlemaps.github.io/kml-samples/kml/Style/styles.kml#blueIcons');
var icon = ge.createIcon('');
icon.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png');
var style = ge.createStyle('');
style.getIconStyle().setIcon(icon);
style.getIconStyle().setScale(5);
placemark.setStyleSelector(style);
var placemarkStyle = placemark.getComputedStyle();
alert('Icon color: '
+ placemarkStyle.getIconStyle().getColor().get()
+ '\n'
+ 'Icon scale: '
+ placemarkStyle.getIconStyle().getScale());
getElementByUrl()
Objects that are imported as KML have an identifying URL consisting of their
base address and ID, joined with the # character. For example,
if http://code.google.com/foo.kml is fetched and contains the
following:
<kml>
<Document>
<Placemark id='elvis_was_here'>
...
</Placemark>
</Document>
</kml>
The placemark can be retrieved with:
var pm = ge.getElementByUrl('http://code.google.com/foo.kml#elvis_was_here');
If the object was created with the API, it can be retrieved by including only the hash and the object's ID:
ge.getElementByUrl('#mike_was_there');
Alternatively, API-created objects can be returned using
getElementById().
getElementById()
When an object is created with the API, rather than imported as KML, the
object does not have a base address. In this case, the object can be returned
by passing only its ID to getElementById().
var overlay = ge.createPhotoOverlay('graceland_panorama');
ge.getFeatures().appendChild(overlay);
var myPhotoOverlay = ge.getElementById('graceland_panorama');
getElementsByType()
You can obtain an array of all elements of a certain type, by passing that
type as a string to getElementsByType().
var placemarks = ge.getElementsByType('KmlPlacemark');
for (var i = 0; i < placemarks.getLength(); ++i) {
var placemark = placemarks.item(i);
}
This method can also be called on any KMLFeature object, such as a folder, to return only objects within that specific container.
For a list of valid types, refer to the
API Reference. You can also
call getType() on any existing object to return its type as a
string.
alert(polygon.getType());