管理KML Linestring属性

时间:2016-05-10 19:40:07

标签: kml

我正在绘制一个LineString。出于某种原因,我似乎没有影响LineStyle。我的代码看起来与许多例子相同,但无论我在LineStyle中放置什么颜色或宽度,它总是显示为粗蓝线。

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>Qtr Min Grid Maker</name>
    <LookAt>
      <longitude>-121.5</longitude>
      <latitude>38</latitude>
      <altitude>0</altitude>
      <range>740933.8825924395</range>
      <tilt>0</tilt>
      <heading>0</heading>
    </LookAt>
    <Folder>
      <name>Grids</name>
  <Style id="linestyle1">
    <LineStyle>
      <color>7f0000ff</color>
      <width>1</width>
      <gx:labelVisibility>1</gx:labelVisibility>
    </LineStyle>
  </Style>   
      <Placemark>
        <name>QTR</name>
        <visibility>0</visibility>
        <open>1</open>
        <styleUrl>#linestyle1</styleUrl>
        <LineString>
  <coordinates>
-124.75,40,0 
-124.5,40,0 
-124.25,40,0 
-124,40,0 
-123.75,40,0 
-123.5,40,0 
-123.25,40,0 
-123,40,0 
  </coordinates>
  </LineString>
  </Placemark>
  </Folder>
  </Document>
</kml>

1 个答案:

答案 0 :(得分:1)

如果我将共享样式移到顶层(<Document>标记内),它对我有用:

example

来自the documentation(请参阅<StyleSelector>的说明):

  

在功能中定义的样式称为“内联样式”和   仅适用于包含它的功能。 定义为的样式   <Document>的孩子被称为“共享风格”。共享风格必须   有一个id为它定义。该id由一个或多个引用   <Document>

中的功能

您既不是<Document>的孩子也不是<Placemark>

的孩子
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
  <Style id="linestyle1">
    <LineStyle>
      <color>7f0000ff</color>
      <width>1</width>
      <gx:labelVisibility>1</gx:labelVisibility>
    </LineStyle>
  </Style>   
    <name>Qtr Min Grid Maker</name>
    <LookAt>
      <longitude>-121.5</longitude>
      <latitude>38</latitude>
      <altitude>0</altitude>
      <range>740933.8825924395</range>
      <tilt>0</tilt>
      <heading>0</heading>
    </LookAt>
    <Folder>
      <name>Grids</name>
      <Placemark>
        <name>QTR</name>
        <visibility>0</visibility>
        <open>1</open>
        <styleUrl>#linestyle1</styleUrl>
        <LineString>
  <coordinates>
-124.75,40,0 
-124.5,40,0 
-124.25,40,0 
-124,40,0 
-123.75,40,0 
-123.5,40,0 
-123.25,40,0 
-123,40,0 
  </coordinates>
  </LineString>
  </Placemark>
  </Folder>
  </Document>
</kml>