【问题标题】:How can I show subtitles in Google Earth using some sort of overlay?如何使用某种叠加层在 Google 地球中显示字幕?
【发布时间】:2010-07-25 10:27:42
【问题描述】:

我对使用 KML 编程 Google 地球还很陌生,但有人要求我研究在 Google 地球飞越上显示字幕。我看到有几种类型的叠加层,但它们似乎都假设一个图像。 ScreenOverlay 看起来是最好的选择,因为图像是相对于屏幕而不是地球显示的,但这仍然需要我将每一段文本转换为图像——可能,但不漂亮。有更好的选择吗?

【问题讨论】:

    标签: kml google-earth


    【解决方案1】:

    您应该有一个缺少点的地标。然后将您的文本放在描述字段中。您甚至可以使用 CDATA 为您的文本使用 html 格式,从而为您的文本提供超链接。

    使用此方法,文本将出现在气球中。你可以通过编辑它的 BalloonStyle 来改变它的背景颜色。我很确定你甚至可以让它透明。

    【讨论】:

    • 非常有趣的方法。谢谢。
    【解决方案2】:

    解决这个问题的一个简单方法是使用某种文本到图像的 cgi 脚本。 例如,不是引用图像 url,而是将脚本 url 与文本参数一起传递。例如

    http://yoursite.com/image.php?text=subtitle-text
    

    然后脚本会动态生成图像并提供它。如果您在服务器上使用一些缓存,您可以确保只生成一次图像,以便使用相同参数的任何进一步调用都只是为预先生成的图像提供服务。

    有很多方法可以做到这一点 - 谷歌甚至为它提供了一个 API!

    http://groups.google.com/group/google-chart-api/web/chart-type-for-text-with-outline

    例如:

    http://chart.apis.google.com/chart?chst=d_text_outline&chld=FFBBBB|16|h|BB0000|b|Hello%20Word

    【讨论】:

    • 所以我想答案是否定的。感谢您提供指向 Chart API 示例的链接。
    • 不用担心,Chart Api 至少允许您以编程方式解决问题 - 另一种方法可能是使用未连接到任何特定 KmlFeature 的 KmlBalloon,这些可以定位,然后显示任何内容他们......再次可能并不理想,但肯定是一个选择......
    【解决方案3】:

    ScreenOverlay 是字幕的最佳选择。有了它们,您可以将地球及其运动想象成电影或电视节目,而 ScreenOverlays 是在屏幕上保持相同位置的字幕,无论动作如何。

    对于第二个问题,是的,您只能将图像显示为叠加层。没有文字(还没有?)。

    如果您正在考虑开发 Tour,您可以通过在录制过程中启用和禁用单个字幕来相对轻松地显示和消失。

    【讨论】:

    • 您可以通过编程方式(即直接通过 KML)启用和禁用它们吗?
    【解决方案4】:

    我确定这对这个问题的作者来说已经太迟了,但我需要在插件顶部放置一个项目标签。

    查看Demo Gallery 中的“使用屏幕叠加层或 IFRAME 垫片的自定义控件”。

    我使用了这个例子并给按钮一些文本,禁用背景图像并将按钮重新定位到页面的顶部/中间。我还删除了事件处理。我打算使用按钮以外的东西,这样当标签悬停时光标不会变成手指图标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多