2017-02-06 48 views
0

我想使用KML文件在多边形内绘制自定义文本。 为Polygon-如何在KML中绘制多边形内的客户文字?

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"><Document><Style id="White"><PolyStyle><color>64FFFFFF</color></PolyStyle></Style><Placemark><styleUrl>#white</styleUrl><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27999999999997,30.0175 -95.27166999999997,30.0175 -95.27166999999997,30.01083 -95.27999999999997,30.01083 -95.27999999999997,30.0175</coordinates></LinearRing></outerBoundaryIs></Polygon><ExtendedData><Data name="isColorful">true</Data><Data name="color">white</Data></ExtendedData></Placemark></Document></kml> 

我的KML文件我错过任何标签或属性显示在多边形的中心文本。 请帮忙。

实际上,我想在多边形中显示一些数据,我使用点和多边形创建了KML。 - 我使图标比例0隐藏图标。 它显示“Google地球”中的多边形内的名称标签,但它不显示“Google地图”中的标签。 请参阅我的样品KML文件

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"><Document><Style id="White"><IconStyle> <color>ff00ff00</color>   <colorMode>random</colorMode><scale>0</scale></IconStyle><LabelStyle><scale>0.6</scale></LabelStyle><PolyStyle><color>64FFFFFF</color></PolyStyle></Style><Placemark><name>64,100</name><styleUrl>#White</styleUrl><MultiGeometry><Point><coordinates>-95.27899999999997,30.0172</coordinates></Point><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27999999999997,30.0175 -95.27166999999997,30.0175 -95.27166999999997,30.01083 -95.27999999999997,30.01083 -95.27999999999997,30.0175</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry></Placemark><Placemark><name>65,93</name><styleUrl>#White</styleUrl><MultiGeometry><Point><coordinates>-95.27066999999997,29.97053</coordinates></Point><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27166999999997,29.97083 -95.26333999999997,29.97083 -95.26333999999997,29.96417 -95.27166999999997,29.96417 -95.27166999999997,29.97083</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry></Placemark></Document></kml> 

回答

0

一些在KML元素是无序使其无效KML关于KML 2.2规范。 KML应该首先验证。有关验证KML的一些提示将在here进行讨论。

ExtendedData元素不正确。缺少要求的value元素。

<ExtendedData> 
    <Data name="isColorful">true</Data> 
    <Data name="color">white</Data> 
</ExtendedData> 

这需要被restructued:

<ExtendedData> 
    <Data name="isColorful"> 
     <value>true</value> 
    </Data> 
    <Data name="color"> 
     <value>white</value> 
    </Data> 
</ExtendedData> 

如果KML地标有ExtendedData然后将这些数据点击时字段在描述气囊弹出一个人类可读的HTML格式的表格。

如果要覆盖HTML表格,请将<description>添加到可包含HTML标记的KML地标中。请参阅KML reference docs中的说明部分。

UPDATE: 如果对多边形出现希望文本则需要包括点与多边形的MultiGeometry象你所说的,但还需要一个<name>元素添加到地标。名称元素的文本将成为该点位置处显示的标签。这适用于Google地球,但不适用于Google地图。 KML在Google地图中存在一些限制。如果想要将文字添加到多边形的中心,请通过Google Maps API添加标签标记。 https://developers.google.com/maps/documentation/javascript/examples/marker-labels

+0

实际上,我想在多边形内显示一些数据,我使用带有点和多边形的创建了KML。 - 我使图标比例0隐藏图标。 它显示“Google地球”中的多边形内的名称标签,但它不显示“Google地图”中的标签。 –