お気に入り | 日本語 | ログイン

更新

NetworkLink を介して読み込んだデータを付加的に変更するには、NetworkLinkControl の子の Update 要素を使用します。Update には、任意の数の Change、Create、Delete 要素を組み込めます。各要素は指定した順序で処理されます。

下記の図は、イベントの順序を説明したものです。

  1. NetworkLink で元の KML ファイルを Google Earth に読み込ませます。後から更新する要素は、最初に指定するときに id を明示的に定義しておく必要があります。この id は、ファイル内で一意である必要があります。
  2. 1 で読み込んだ KML オブジェクトに対する更新(Change、Create、Delete のあらゆる組み合わせ)が含まれている 2 番目の KML ファイルを、別の NetworkLink で読み込みます。更新ファイルには、元の KML データを識別する 2 つの参照が指定されています。
  3. Google Earth 内でオブジェクトを特定するために、Update 要素は targetHref 要素を使用して、変更するオブジェクトを定義した元のファイルを識別します。変更するオブジェクトや新しいオブジェクトのコンテナを識別するために、Change、Create、Delete の各要素には、これらのオブジェクトの id を参照する targetId 属性を指定します。

変更例

NetworkLink と KML データ ファイルの一連のサンプルを次に示します。サンプルを実行するには、次の手順を実行します:

  1. Google Earth に Point-load.kml ファイルを読み込ませます。このファイルには、2 つのポイントが含まれている元のデータ ファイル(Point.kml)を読み込む NetworkLink が含まれています。
  2. Google Earth に Update-load.kml ファイルを読み込ませます。このファイルには、更新データ(point123 の新しい名前)が含まれているファイルを読み込む 2 番目の NetworkLink が含まれています。

最初のファイルには、2 つのポイントが含まれているデータ ファイルを読み込む NetworkLink が含まれています。これらのポイントを使用する Placemark には id が割り当てられています。3 番目のファイルには別の NetworkLink が含まれています。この NetworkLink が更新ファイルを追加します。Change 要素は、point123 の Placemark の名前を変更します。

この例では 4 つのファイルが使用されています。最初のファイルは Point-load.kml です。このファイルには、元のデータ ファイル(Point.kml)を読み込む NetworkLink が含まれています。

<?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://code.google.com/apis/kml/documentation/Point.kml</href>
</Link>
</NetworkLink>
</kml>

次のファイルは Point.kml です。このファイルには、元のデータ(2 つのポイント)が含まれています。「point123」という id を持つポイントが変更の対象となります。

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

次は、2 番目の 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://code.google.com/apis/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://code.google.com/apis/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>

トップへ戻る