Bir NetworkLink üzerinden yüklenen verileri aşamalı olarak değiştirmek için NetworkLinkControl'ün alt öğesi olan Update öğesini kullanın. Güncelleme, sırayla işlenen herhangi bir Değişiklik, Oluşturma ve Silme öğesi içerebilir.
Aşağıdaki şekilde etkinlik dizisi gösterilmektedir.
- NetworkLink, "orijinal" KML dosyasını Google Earth'e yükler. Daha sonra güncellenecek bir öğenin ilk belirtildiğinde açık bir id özelliğinin tanımlanması gerekir. Kimlikler belirli bir dosya içinde benzersiz olmalıdır.
- Başka bir Ağ Bağlantısı, daha önce yüklenmiş KML nesnelerine yönelik güncellemeleri (Değişiklik, Oluşturma ve Silme kombinasyonları) içeren ikinci bir KML dosyası yükler. Güncelleme dosyası, orijinal KML verilerini tanımlamak için iki referans içerir:
- Google Earth'teki nesneleri bulmak için Update öğesi, değiştirilecek nesneleri tanımlayan orijinal dosyayı tanımlamak için targetHref öğesini kullanır. Değiştirilecek nesneleri veya yeni nesnelerin kapsayıcısını tanımlamak için Değişiklik, Oluşturma ve Silme öğeleri, bu nesnelerin kimliklerine referans veren bir targetId özelliği içerir.
Örneği Değiştir
Aşağıdaki örnekte bir ağ bağlantıları ve KML veri dosyaları örnek olarak gösterilmektedir. Örneği çalıştırmak için:
- Point-load.KML dosyasını Google Earth'e yükleyin. Bu dosya, iki nokta (Point.KML) içeren orijinal veri dosyasını yükleyen NetworkLink'i içerir.
- Update-upload.KML dosyasını Google Earth'e yükleyin. Bu dosya, Güncelleme verilerini içeren dosyayı yükleyen ikinci NetworkLink'i (point123 için yeni bir ad) içerir.
İlk dosya, iki nokta içeren veri dosyasını yükleyen NetworkLink'i içerir. Bu noktaları içeren Yer İşaretleri'ne kimlik atanır. Üçüncü dosya, Güncelleme dosyası ekleyen başka bir NetworkLink içeriyor. Değişiklik öğesi, point123 için Yer İşareti adını değiştirir.
Bu örnekte kullanılan dört dosyayı aşağıda bulabilirsiniz. Öncelikle bu, orijinal veri dosyasını yükleyen NetworkLink'i içeren Point-upload.KML dosyasıdır (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>
Orijinal verileri (iki nokta) içeren Point.KML dosyasını burada bulabilirsiniz. Kimliği "point123" olan nokta değiştireceğimiz noktadır.
<?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>
Ardından, ikinci NetworkLink dosyası (Update-upload.KML) gösterilir. Bu dosya, Güncelleme bilgilerini içeren dosyayı yükler.
<?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>
Son olarak, Güncelleme bilgilerini içeren KML dosyası (NetworkLinkControl-Update.KML) şunlardır:
<?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>