لإجراء تعديل تدريجي على البيانات المحمّلة عبر NetworkLink، استخدم العنصر Update (تحديث)، وهو عنصر فرعي لـ NetworkLinkControl. يمكن أن يحتوي التحديث على أي عدد من عناصر التغيير والإنشاء والحذف التي تتم معالجتها بالترتيب.
يوضح الشكل التالي تسلسل الأحداث.
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/update.gif?authuser=2&hl=ar)
- يحمّل NetworkLink ملف KML "الأصلي" إلى Google Earth. ويحتاج العنصر الذي يتم تحديثه لاحقًا إلى تحديد id (معرّف) واضح عند تحديده لأول مرة. يجب أن تكون ids فريدة داخل ملف معيّن.
- يحمّل NetworkLink آخر ملف KML ثانٍ يحتوي على التحديثات (أي تركيبة من التغيير والإنشاء والحذف) إلى كائنات KML التي سبق تحميلها. يحتوي ملف التحديث على مرجعين لتحديد بيانات KML الأصلية:
- لتحديد موقع العناصر داخل Google Earth، يستخدم العنصر Update العنصر targetHref لتحديد الملف الأصلي الذي حدد الكائنات المراد تعديلها. لتحديد الكائن أو الكائنات المراد تعديلها أو حاوية الكائنات الجديدة، تحتوي العناصر "التغيير" و"الإنشاء" و"الحذف" على السمة targetId التي تشير إلى ids لتلك الكائنات.
تغيير المثال
يعرض المثال التالي مجموعة من ملفات NetworkLinks وملفات KML. لتشغيل النموذج:
- حمِّل الملف Point-load.kml في Google Earth. يحتوي هذا الملف على NetworkLink الذي يحمّل ملف البيانات الأصلي الذي يحتوي على نقطتين (Point.kml ).
- حمِّل الملف Update-load.kml في Google Earth. يحتوي هذا الملف على NetworkLink الثاني، والذي يحمّل الملف الذي يحتوي على بيانات التحديث (اسم جديد لـ point123).
يحتوي الملف الأول على NetworkLink الذي يحمّل ملف البيانات الذي يحتوي على نقطتين. تشتمل العلامات الموضعية التي تحتوي على هذه النقاط على أرقام تعريف مخصصة لها. ويحتوي الملف الثالث على NetworkLink آخر، والذي يضيف ملف "تحديث". يعدِّل العنصر "تغيير" اسم العلامة الموضعية في point123.
فيما يلي الملفات الأربعة المستخدمة في هذا المثال. أولاً، هذا هو ملف Point-load.kml، الذي يحتوي على NetworkLink الذي يحمّل ملف البيانات الأصلي (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>
في ما يلي ملف Point.kml الذي يحتوي على البيانات الأصلية (نقطتان). النقطة التي تحتوي على المعرف "point123" هي النقطة التي سيتم تعديلها.
<?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>
بعد ذلك يكون ملف NetworkLink الثاني (Update-load.kml). يحمّل هذا الملف الملف الذي يحتوي على معلومات التحديث.
<?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>
أخيرًا، إليك ملف KML (NetworkLinkControl-Update.kml) الذي يتضمّن معلومات التحديث:
<?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>