업데이트

네트워크 링크(NetworkLink)를 통해 로드된 데이터를 순차적으로 수정하려면 NetworkLinkControl의 하위 요소인 업데이트(Update) 요소를 사용합니다. 업데이트를 통해 원하는 만큼 요소를 변경, 생성 및 삭제할 수 있으며, 이는 순서대로 처리됩니다.

아래 그림은 이벤트의 순서를 보여줍니다.

  1. 네트워크 링크는 '원본' KML 파일을 Google 어스에 로드합니다. 나중에 업데이트할 요소를 처음 지정할 때에는 명확한 id를 정의해야 하며, id는 주어진 파일 내에서 고유해야 합니다.
  2. 다른 네트워크 링크는 이미 로드된 KML 개체의 업데이트(변경(Change), 생성(Create) 및 삭제(Delete)의 조합)가 있는 두 번째 KML 파일을 로드합니다. 업데이트 파일에는 원본 KML 데이터를 식별할 수 있는 두 개의 참조가 있습니다.
  3. Google 어스 내에서 개체를 찾을 수 있도록 업데이트 요소는 targetHref 요소를 사용하여 수정할 개체를 정의한 원본 파일을 식별합니다. 변경, 생성 및 삭제 요소에는 수정할 개체나 새 개체의 컨테이너를 식별할 수 있도록 id를 참조하는 targetId 속성이 포함되어 있습니다.

변경 예제

다음 예제는 샘플 네트워크 링크 모음과 KML 데이터 파일을 보여 줍니다. 샘플을 실행하는 방법은 다음과 같습니다.

  1. Point-load.kml 파일을 Google 어스에 로드합니다. 이 파일에는 두 위치 지점(Point.kml)이 포함된 원본 데이터 파일을 로드하는 네트워크 링크가 있습니다.
  2. Update-load.kml 파일을 Google 어스에 로드합니다. 이 파일에는 업데이트 데이터(point123)가 포함된 파일을 로드하는 두 번째 네트워크 링크가 있습니다.

첫 번째 파일에는 두 위치 지점이 포함된 데이터 파일을 로드하는 네트워크 링크가 있습니다. 이 위치 지점을 포함하는 위치표시에는 ID가 할당되어 있습니다. 세 번째 파일에는 업데이트 파일을 추가하는 다른 네트워크 링크가 있습니다. 변경 요소는 point123의 위치표시 이름을 수정합니다.

이 예제에서 사용된 네 개의 파일이 아래에 나와 있습니다. 먼저 원본 데이터 파일(Point.kml)을 로드하는 네트워크 링크가 포함된 Point-load.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 파일은 다음과 같습니다. id가 '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>

다음은 두 번째 네트워크 링크 파일(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>

맨위로