네트워크 링크(NetworkLink)를 통해 로드된 데이터를 순차적으로 수정하려면 NetworkLinkControl의 하위 요소인 업데이트(Update) 요소를 사용합니다. 업데이트를 통해 원하는 만큼 요소를 변경, 생성 및 삭제할 수 있으며, 이는 순서대로 처리됩니다.
아래 그림은 이벤트의 순서를 보여줍니다.
- 네트워크 링크는 '원본' KML 파일을 Google 어스에 로드합니다. 나중에 업데이트할 요소를 처음 지정할 때에는 명확한 id를 정의해야 하며, id는 주어진 파일 내에서 고유해야 합니다.
- 다른 네트워크 링크는 이미 로드된 KML 개체의 업데이트(변경(Change), 생성(Create) 및 삭제(Delete)의 조합)가 있는 두 번째 KML 파일을 로드합니다. 업데이트 파일에는 원본 KML 데이터를 식별할 수 있는 두 개의 참조가 있습니다.
- Google 어스 내에서 개체를 찾을 수 있도록 업데이트 요소는 targetHref 요소를 사용하여 수정할 개체를 정의한 원본 파일을 식별합니다. 변경, 생성 및 삭제 요소에는 수정할 개체나 새 개체의 컨테이너를 식별할 수 있도록 id를 참조하는 targetId 속성이 포함되어 있습니다.
변경 예제
다음 예제는 샘플 네트워크 링크 모음과 KML 데이터 파일을 보여 줍니다. 샘플을 실행하는 방법은 다음과 같습니다.
- Point-load.kml 파일을 Google 어스에 로드합니다. 이 파일에는 두 위치 지점(Point.kml)이 포함된 원본 데이터 파일을 로드하는 네트워크 링크가 있습니다.
- 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>