我正在寻找将新坐标和相关数据点添加到Google 地球中的<gx:Track>
a上。<NetworkControlLink>
我已经看到了很多关于如何创建<gx:Track>
s<ExtendedData>
以及如何<Update>
对通用<Point>
对象执行 s 的示例,但我还没有看到很多讨论这两者的例子。我能找到的最接近的是这个链接,它几乎一针见血:http ://groups.google.com/group/kml-support-advanced/browse_thread/thread/0d2cbefd087d576e?pli=1
不幸的是,这个链接没有得到任何回应,原始发帖人也没有提供他的orig_track.kml
文件,否则我可以对他所做的事情进行逆向工程,因为他声称他发现了一个解决方案。
现在我<Placemark>
在一个文件中定义一个这样的test.kml
:
<Placemark>
<name>Target</name>
<description>...</description>
<gx:Track id="orig_track">
<when>2012-05-29T22:45:00Z</when>
<when>2012-05-29T22:45:10Z</when>
<gx:coord>-84.396863 33.774566 285</gx:coord>
<gx:coord>-84.396917 33.774474 285</gx:coord>
<ExtendedData>
<SchemaData schemaUrl="#schemaId" id="testID">
<gx:SimpleArrayData name="sig_strength">
<gx:value>60</gx:value>
<gx:value>65</gx:value>
</gx:SimpleArrayData>
<gx:SimpleArrayData name="gps_lock">
<gx:value>true</gx:value>
<gx:value>true</gx:value>
</gx:SimpleArrayData>
</SchemaData>
</ExtendedData>
</gx:Track>
</Placemark>
我试图通过拥有一个<NetworkLinkControl>
看起来像这样的对象来更新它:
<NetworkLinkControl>
<Update>
<targetHref>test.kml<targetHref>
<Create>
<gx:Track targetId="orig_track_10003">
<when>2012-05-29T22:45:20Z</when>
<when>2012-05-29T22:45:30Z</when>
<when>2012-05-29T22:45:40Z</when>
<when>2012-05-29T22:45:50Z</when>
<gx:coord>-84.396992 33.774443 285</gx:coord>
<gx:coord>-84.397078 33.774421 285</gx:coord>
<gx:coord>-84.397188 33.774363 286</gx:coord>
<gx:coord>-84.397316 33.774298 287</gx:coord>
</gx:Track>
<SchemaData schemaUrl="test.kml#schemaId" targetId="testID">
<gx:SimpleArrayData>
<gx:value>60</gx:value>
<gx:value>60</gx:value>
<gx:value>65</gx:value>
<gx:value>65</gx:value>
</gx:SimpleArrayData>
<gx:SimpleArrayData>
<gx:value>true</gx:value>
<gx:value>true</gx:value>
<gx:value>true</gx:value>
<gx:value>true</gx:value>
</gx:SimpleArrayData>
</SchemaData>
</Create>
</Update>
</NetworkLinkControl>
我认为我的问题可能与如何<SchemaData>
引用实例有关。如果我没记错的话,<Schema>
定义了数组中应该包含哪些字段,当我定义<Placemark>
上面的内容时,我用<SchemaData>
. 我不确定如何获取我创建的数组的实例并使用<Update>
and向其中添加元素<Create>
。我的<Schema>
样子是这样的:
<Schema name="schema" id="schemaId">
<gx:SimpleArrayField name="sig_strength" type="int">
<displayName>Signal Strength</displayName>
</gx:SimpleArrayField>
<gx:SimpleArrayField name="gps_lock" type="bool">
<displayName>GPS Lock Status</displayName>
</gx:SimpleArrayField>
</Schema>
我希望这足够清楚,可以理解!提前感谢您提供的任何指导。