【问题标题】:Google Earth KML Not Properly Rendering Balloon StyleGoogle 地球 KML 无法正确渲染气球样式
【发布时间】:2011-05-06 15:08:02
【问题描述】:

这个问题困扰了我大约 2 天,Google 并没有帮助我解决这个问题。基本上,下面的代码应该定义气球内的文本。不幸的是,它不是那样工作的。如果 GE 无法处理 KML 中定义的样式,我们最终会得到一个后备方案。

这是我尝试将 KML 直接注入 GE 插件进行渲染的一种(多种)方法。

var kmlString = '' +
'<?xml version="1.0" encoding="UTF-8"?>' +
'<kml xmlns="http://www.opengis.net/kml/2.2">' +
'  <Document>' +
'    <Style id="sitegeom">' +
'      <BalloonStyle>' +
'       <text>' +
'           <![CDATA[' +
'           this is<br>a test' +
'           ]]>' +          
'       </text>' +
'      </BalloonStyle>' +
'    </Style>' +
'  </Document>' +
'</kml>';

var kmlObject = $wnd.ge.parseKml(kmlString);
$wnd.ge.getFeatures().appendChild(kmlObject);

这个 sn-p 所基于的代码直接来自 GE 文档。去搞清楚。有人有想法吗?

【问题讨论】:

    标签: kml google-earth-plugin


    【解决方案1】:

    您稍后添加的 KML 文档可能无法访问您在开始时在单独的 KML 文档中定义的#sitegeom ID,它不在范围内。

    尝试遵循 Google 地球文档 instructions re: this,将样式定义放在单独的文件中:

    如果样式定义在同一个文件中,请在样式 ID 前面加上 # 号。如果样式定义在外部文件中,请在元素中包含完整的 URL。

    例如:

    <styleUrl>http://www.example.com/path/to/your/style.kml#sitegeom</styleUrl>
    

    【讨论】:

      【解决方案2】:

      也许问题对我来说不是很清楚,但我认为,您需要在您的 KML 中描述 Placemark 并在 styleUrl 中定义您的风格 像这样:

      <?xml version="1.0" encoding="UTF-8"?>
      <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
          <Style id="sitegeom">
            <BalloonStyle>
             <text>
                 <![CDATA[
                this is<br>a test
                 ]]>          
             </text>
            </BalloonStyle>
          </Style>
          <Placemark>
              <Point>
                  <coordinates>104.30000001,52.283333343333</coordinates>
              </Point>
              <styleUrl>#sitegeom</styleUrl>
          </Placemark>
        </Document>
      </kml>
      

      这个想法对吗?

      【讨论】:

      • 不完全...地标完全来自不同的 KML 对象,该对象是稍后在代码中动态创建的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      相关资源
      最近更新 更多