2

我有一个 KML 文件,其中包含城市加油站位置的单独地标。(我在 GeoMedia 中创建了这个并导出到 KML)。

我想将每个地标的气球样式修改为类似于其中一种气球样式 - http://earth.google.com/outreach/tutorial_balloon.html

有什么方法可以将气球样式应用于文件中的每个地标?我必须逐点进行,还是可以将气球样式放在文件顶部并让其他地标引用该样式?

我对 KML 很陌生,所以任何见解都会受到赞赏。

谢谢


@Matt - 我已经使用了您的建议并尝试了各种迭代,但似乎无法做到正确。该文件已经创建了地标 - 我只想编辑包括添加徽标、删除方向等的样式。

新样式出现,但架构文本未出现在地标气球中。

我在下面粘贴了一些代码 - 任何想法将不胜感激。

<Schema name="" id="Schema20">
<SimpleField type="xsd:int" name="Building_ID"></SimpleField>
<SimpleField type="xsd:string" name="Building Name"></SimpleField>
<SimpleField type="xsd:string" name="Street Address"></SimpleField>
<SimpleField type="xsd:string" name="Office Type"></SimpleField>
<SimpleField type="xsd:double" name="GFA (m2)"></SimpleField>
<SimpleField type="xsd:string" name="GFA_(sqft)"></SimpleField>
<SimpleField type="xsd:int" name="Storeys"></SimpleField>
<SimpleField type="xsd:int" name="Year Built/Occupied">
</SimpleField></Schema>


<Style id="TestStyle"> 
<BalloonStyle>
<bgColor>ffffffbb</bgColor>
<text><![CDATA[<b><font color="#CC0000" size="+3">$[name]</font></b><br/><br/>
<font face="Courier">$[description]</font><br/><br/> $[geDirections]   ]]>
</text>
</BalloonStyle>
</Style>


<Folder>
<name>Office Buildings</name>

<Placemark>
<name>539</name>
<styleUrl>#TestStyle</styleUrl>
<ExtendedData>
<SchemaData schemaUrl="#Schema20">
<SimpleData name="Building_ID">111</SimpleData>
<SimpleData name="Building Name">Name</SimpleData>
<SimpleData name="Street Address">Address</SimpleData>
<SimpleData name="Office Type">Secondary Office</SimpleData>
<SimpleData name="GFA (m2)">100</SimpleData>
<SimpleData name="GFA_(sqft)">1000</SimpleData>
<SimpleData name="Storeys">5</SimpleData>               
<SimpleData name="Year Built/Occupied">2010</SimpleData>
</SchemaData>
</ExtendedData><Point>
<coordinates>-122.370533,37.823842,0</coordinates></Point>
</Placemark>

.....还有1000个这样的


@马特-

我遇到的是,如果我使用气球样式,那么我在之前的文章中引用的 Schema 中的数据不会出现在气球中。如果我留空,那么 Schema 将出现在气球中。你知道我怎样才能让两者都出现吗?

谢谢,

 <BalloonStyle>      
      <text>
     <![CDATA[<img align="right" src="http://www.website.com/logo.jpg" width="175">]]>
     $[description]
     </text>
     <bgColor>ffffffbb</bgColor>
 </BalloonStyle> 
4

1 回答 1

1

您可以styleUrl为您使用地标(您需要将其应用于您想要具有选定样式的所有地标):

<styleUrl>#someIDforStyle</styleUrl>

如果样式部分位于不同的文件中,则只需添加链接:

<styleUrl>styles\pathToFile\StyleFile.kml#someIDforStyle</styleUrl>

以上两者都会将某个样式与该 ID 相关联,类似于:

<Style id='someIDforStyle'>
     <BalloonStyle>
          <text>
             <![CDATA[  .... 
                   your are going to want to add html here to make your balloons similar to that link 
                ...
             ]]>
          </text>
     </BalloonStyle>
</Style>

您可以查看此 kml 链接以添加自定义数据:https ://developers.google.com/kml/documentation/extendeddata

于 2012-09-04T21:32:20.203 回答