KML向导KML是一种在Earth Browser(比如Google Earth,Google Maps,Google Maps for mobile)用于显示地理数据的文件格式。
KML用使用一种可以嵌套元素和标记的结构并且基于XML标准。
所有的这些标签都是大小写敏感的并且必须精确的出现在KML2.2Reference中.这个参考手册指出哪些标记是可选的。
在一个给定的元素中,标记必须按照Reference显示的顺序出现。
如果你是一个KML新手,可以阅读这篇文档并且使用这些例子来开始学习KML文件基本结构。
第一部分描述了使用Google Earth软件来创建的特性。
这些特征包括placemarks,descripttions,ground overlays,paths和polygons。
第二部分描述了使用一个text editor来创建的特性。
当一个文件存储使用kml或者kmz扩展名,google earth浏览器知道怎样来显示它。
目录基本的KML 文档PlacemarksDescriptive HTML in PlacemarksGround OverlaysPathsPolygons高级的KML文档对于Geometry的styles对于高亮的icons的styles对于屏幕的覆盖图层网络连接KML MIME Types一、基本KML文档KML最简单的文档是那些可以直接在Google Earth发布的。
也就是说,你不必在一个text editor中编辑或创建任何KML,像这些Placemarks,Descriptive HTML in Placemarks,Ground Overlays,Paths,Polygons元素可以直接在Google Earth中创建。
1.1 Placemarks一个Placemark是google earth中最普遍的特征。
他标记真地球上表面的位置,使用一个黄色的图钉作为图标。
最简单的placemark仅包括一个point元素,用于指定placemark的位置。
你可以指定这个placemark的名字和图标,你也可以增加其他的几何元素在上面。
在Google Earth中打开KML Samples文件并且扩展placemarks子文件夹,这个文件夹包括三种placemark类型:simple,floating和extruded.对于KML code的一个简单的placemark如下:<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Placemark><name>Simple placemark</name><description>Attached to the ground. Intelligently places itselfat the height of the underlying terrain.</description><Point><coordinates>-122.0822035425683,37.42228990140251,0</coordinate s></Point></Placemark></kml>这份文件结构的分解结构如下:一个xml头。
这是在每一个KML文件中第一行。
在这行之前不能出现任何空格和字符。
一个KML名空间声明。
这是每个KML2.2文件的第2行一个Placemark对象包含下列元素:o a name用于Placemark的文本标签o a description用于附在placemark的注释信息o a point用于指定地球表面的placemark的位置(经度,纬度和可选的海拔)如果你想知道这个Placemark在哪里,他正是google的41号建筑,在那里开发的google earth.在google earth中用户通常认为placemark是一个带有point元素的placemark的元素。
一个point placemark在google earth的3d viewer用于绘制一个icon 和标签。
默认,这个图标是大家熟悉的黄色图钉。
在KML中,一个placemark可以包含一个或者多个几何元素,如linestring,polygon,model.但是一个带有point的placemark能有一个icon和标签。
这个点用于放置icon,但是本身这个点没有图形表现。
1.2、在placemarks中放置具有描述性的HTML在KML Samples中有一个你可以使用placemark text来处理任何事情的例子。
你可以增加链接,字体颜色,样式和颜色还有指定文字对齐方式和表格。
如果你想要看这些代码,可以将”Descriptive HTML”placemark 的例子粘贴到文本编辑器中。
●在Google Earth中的自动链接标记(4.0和之后的发布版本)Google Earth4.0有一个自动链接的特性,这个特性用于自动将像这样的文本转换成用户可以点击的链接。
在<description>,<Snippet>和<BallonStyle>中<text>的标签中的文字全都自动转换成标准的HTTP链接。
你不必自己添加<a href=…>标签。
●使用CDATA元素如果你想在在一个<description>标记写标准的HTML,你可以在里面添加CDATA标签。
如果你不这么做,尖括号需要用实体字符来写以防止google earth不正确的转换政协HTML.例如,符号>别写成>符号<别写成<这是一个标准的xml特性并不是指对Google Earth比较在HTML标记使用CDATA标签和不使用CDATA的区别。
首先,这儿是一段带有CDATA标签的<description>。
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Document><Placemark><name>CDATA example</name><description><![CDATA[<h1>CDATA Tags are useful!</h1><p><font color="red">Text is <i>more readable</i> and<b>easier to write</b> when you can avoid using entityreferences.</font></p>]]></description><Point><coordinates>102.595626,14.996729</coordinates></Point></Placemark></Document></kml>这儿是一段没有CDATA标签的<description>.所以特殊字符必须使用实体字符。
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Document><Placemark><name>Entity references example</name><description><h1>Entity references are hard totype!</h1><p><font color="green">Text is<i>more readable</i>and <b>easier to write</b>when you can avoid using entityreferences.</font></p></description><Point><coordinates>102.594411,14.998518</coordinates></Point></Placemark></Document></kml>1.3、Ground Overlayground overlay可以使你将一个图片覆盖在Earth的地表上。
这个<Icon>元素用于包含这个jpg文件的链接。
这个在KML Samples文件的ground overlay 例子,用于显示在2001年Mount Etna 火山爆发的<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Folder><name>Ground Overlays</name><description>Examples of ground overlays</description><GroundOverlay><name>Large-scale overlay on terrain</name><description>Overlay shows Mount Etna eruptingon July 13th, 2001.</description><Icon><href>/apis/kml/documentation/etna.jpg< /href></Icon><LatLonBox><north>37.91904192681665</north><south>37.46543388598137</south><east>15.35832653742206</east><west>14.60128369746704</west><rotation>-0.1556640799496235</rotation></LatLonBox></GroundOverlay></Folder></kml>注意这个文件使用第一个例子中的同样的两行:XML头和KML名空间按声明。