1

我似乎遇到了一个问题,即单击时不显示地标描述。气球打开,从大小看,文本可能确实存在,但没有显示。该页面是相当动态的,加载了多个 kml,所以我想知道我是否在某个地方杀死了代码中的地标?它们在地球应用程序中显示良好,所以我假设它与插件或我加载 kml 的方式有关。

这是一个示例:http ://tour.frederickwildman.com/jaboulet 任何有关如何进行的帮助或建议都会非常有帮助。谢谢

4

1 回答 1

0

很难确定,因为我只能间歇性地重现该问题,但我认为有两个可能的问题。

首先,您的气球正在将其内容擦洗为地球 api。您可以通过查看打开气球的标记来确认这一点。您将看到类似以下内容的内容已被删除。

<!--
Content-type: mhtml-die-die-die

-->

其次,由于内容,气球似乎在调整大小时出现问题。

要克服这些问题,您可以选择自己处理气球事件。然后,您可以调用getBalloonHtmlUnsafe()来清理气球内容, 调用setMaxWidth()setMaxHeight()来调整大小。例如

google.earth.addEventListener(ge.getGlobe(), 'click', function(event) {
  // exit if not a placemark
  if(event.getTarget().getType() != 'kmlPlacemark') return; 

  // cancel the default behaviour 
  event.preventDefault(); 

  // get the un-scrubbed content and show the max-sized balloon
  var content = placemark.getBalloonHtmlUnsafe(),
      balloon = ge.createHtmlStringBalloon('');
  balloon.setFeature(event.getTarget());
  balloon.setContentString(content);
  balloon.setMaxWidth(800);
  balloon.setMaxHeight(600);
  ge.setBalloon(balloon);
});
于 2014-01-04T23:14:48.043 回答