Para modificar progresivamente los datos cargados en un enlace de red (NetworkLink), utiliza el elemento de actualización (Update), que es un elemento secundario del control de enlaces de red (NetworkLinkControl). El elemento de actualización puede contener cualquier número de elementos de cambio (Change), creación (Create) o eliminación (Delete), procesados en orden.
La figura que se incluye a continuación ilustra la secuencia de eventos.
![](https://developers.google.cn/static/kml/documentation/images/update.gif?authuser=9&hl=es)
- Un elemento NetworkLink carga el archivo KML "original" en Google Earth. Un elemento que se va a actualizar necesita tener un ID definido explícitamente cuando se especifique por primera vez. Los ID deben ser exclusivos dentro de un archivo específico.
- Otro elemento NetworkLink carga un segundo archivo KML que incluye las actualizaciones (cualquier combinación de los elementos Change, Create y Delete) a los objetos KML que ya se han cargado. El archivo de actualización incluye dos referencias para identificar los datos KML originales:
- Para localizar los objetos dentro de Google Earth, el elemento Update utiliza el elemento targetHref para identificar el archivo original que definió el objeto o los objetos que se van a modificar. Para identificar los objetos que se van a modificar o el contenedor de nuevos objetos, los elementos Change, Create y Delete incluyen un atributo targetId que hace referencia a los ID de estos objetos.
Ejemplo de elemento Change
El siguiente ejemplo muestra un conjunto de elementos NetworkLink y de archivos de datos KML de ejemplo. Para ejecutar el ejemplo:
- Carga el archivo Point-load.kml en Google Earth. Este archivo incluye el elemento NetworkLink que carga el archivo de datos original, que incluye dos puntos (Point.kml).
- Carga el archivo Update-load.kml en Google Earth. Este archivo incluye el segundo elemento NetworkLink, que carga el archivo que incluye los datos del elemento Update (un nuevo nombre para point123).
El primer archivo incluye el elemento NetworkLink que carga el archivo de datos, que incluye dos puntos. Los elementos Placemark que incluyen estos puntos tienen ID asignados. El tercer archivo incluye otro elemento NetworkLink, que se añade al archivo de Update. El elemento Change modifica el nombre del elemento Placemark para point123.
A continuación se incluyen los cuatro archivos utilizados en este ejemplo. El primero es el archivo Point-load.kml, que incluye el elemento NetworkLink que carga el archivo de datos original (Point.kml).
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLink>
<name>Loads Point.kml</name>
<Link>
<href>http://developers.google.com/kml/documentation/Point.kml</href>
</Link>
</NetworkLink>
</kml>
Este es el archivo Point.kml, que incluye los datos originales (dos puntos). El punto con el ID "point123" es el punto que se modifica.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark id="pm123">
<name>point123</name>
<Point> <coordinates>-95.44,40.42,0</coordinates> </Point>
</Placemark> <Placemark id="pm456"> <name>point456</name>
<Point> <coordinates>-95.43,40.42,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
El siguiente es el segundo archivo NetworkLink (Update-load.kml). Este archivo carga el archivo que incluye la información del elemento Update.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLink>
<name>Update</name>
<Link>
<href>http://developers.google.com/kml/documentation/NetworkLinkControl-Update.kml</href></Link> </NetworkLink>
</kml>
Por último, el archivo KML (NetworkLinkControl-Update.kml) que incluye la información de actualización:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLinkControl>
<Update>
<targetHref>http://developers.google.com/kml/documentation/Point.kml</targetHref>
<Change>
<Placemark targetId="pm123"> <name>Name changed by Update Change</name>
<!-- coordinates remain the same -->
</Placemark>
</Change> </Update>
</NetworkLinkControl>
</kml>