Bản cập nhật

Để sửa đổi dần dữ liệu được tải qua một NetworkLink, hãy sử dụng phần tử Cập nhật, là phần tử con của NetworkLinkControl. Bản cập nhật có thể chứa số lượng phần tử Thay đổi, Tạo và Xóa được xử lý theo thứ tự.

Hình bên dưới minh hoạ trình tự của các sự kiện.

  1. NetworkLink tải tệp KML "gốc" vào Google Earth. Phần tử mà sau đó sẽ được cập nhật cần xác định một id rõ ràng khi được chỉ định lần đầu tiên. Các mã nhận dạng này phải là duy nhất trong một tệp nhất định.
  2. Một NetworkLink khác tải tệp KML thứ hai chứa nội dung cập nhật (mọi kết hợp của Thay đổi, Tạo và Xóa) với(các) đối tượng KML đã được tải. Tệp cập nhật chứa hai tệp tham chiếu để xác định dữ liệu KML gốc:
  3. Để xác định vị trí các đối tượng trong Google Earth, phần tử Cập nhật sử dụng phần tử targetHref để xác định tệp gốc xác định(các) đối tượng cần sửa đổi. Để xác định(các) đối tượng cần sửa đổi hoặc vùng chứa cho các đối tượng mới, các phần tử Thay đổi, Tạo và Xóa chứa thuộc tính targetId tham chiếu đến mã nhận dạng của các đối tượng đó.

Ví dụ về thay đổi

Ví dụ sau đây cho thấy một tập hợp các tệp dữ liệu KML và KML trên mạng. Để chạy mẫu:

  1. Tải tệp Point-load.SSH vào Google Earth. Tệp này chứa NetworkLink tải tệp dữ liệu gốc, chứa hai điểm (Point.SSH).
  2. Tải tệp Update-load.SSH vào Google Earth. Tệp này chứa NetworkLink thứ hai, tải tệp chứa dữ liệu Cập nhật (tên mới cho point123).

Tệp đầu tiên chứa NetworkLink tải tệp dữ liệu, trong đó có hai điểm. Dấu vị trí chứa các điểm này có mã nhận dạng được gán cho chúng. Tệp thứ ba chứa một NetworkLink khác, tệp này sẽ thêm tệp Cập nhật. Phần tử Thay đổi sửa đổi tên của Dấu vị trí cho point123.

Sau đây là 4 tệp được sử dụng trong ví dụ này. Đầu tiên, đây là tệp Point-load.SSH, chứa NetworkLink tải tệp dữ liệu gốc (Point.SSH).

<?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>

Sau đây là tệp Point.SSH chứa dữ liệu gốc (hai điểm). Điểm có mã "point123" là điểm mà chúng tôi sẽ sửa đổi.

<?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>

Tiếp theo là tệp NetworkLink thứ hai (Update-load.sftp). Tệp này tải tệp có chứa thông tin Cập nhật.

<?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>

Và cuối cùng, đây là tệp KML (NetworkLinkControl-Update.sftp) chứa thông tin Cập nhật:

<?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>

Quay lại đầu trang