gpt4 book ai didi

java - 使用 Google 地球插件管理气球的最明智方法是什么?

转载 作者:行者123 更新时间:2023-12-01 15:50:43 25 4
gpt4 key购买 nike

我的公司开发了一个 Web 应用程序(使用 GWT 在 Java 中),该应用程序使用 Google Earth 插件来显示地球上的特定站点和其他数据。我们目前正在按使用情况管理气球,这意味着需要显示气球的每个功能都在管理气球本身的销毁(如果需要)和创建。这会导致以下问题:如果我们尝试打开一个气球而另一个气球仍然打开,GE 插件有时会崩溃。尽管我们几乎在所有情况下都解决了这个问题,但我认为集中管理气球而不是在每个使用气球的地方管理是明智的。

障碍:

  • 要显示许多站点,其位置必须非常精确;

  • 正在使用多个层,每个层都可能显示气球;

有人创建了一个“BalloonManager”类型的东西来处理这类事情吗?你会怎么做?

最佳答案

听起来您应该使用封装,看看将气球创建移动到一个单独的方法中。

此外,关于“如果我们尝试在另一个气球仍打开时打开一个气球,GE 插件有时会崩溃的问题” - 请确保您在之前简单地调用 ge.setBalloon(null)打开任何气球,或者更好的是,只需重复使用任何当前的气球,而不是创建一个新的气球(如果可用)。

下面的代码应该有助于解释 - 它正在使用您需要的 api 方法,所以它应该有一些用处。

public void function OpenFeatureBalloon(GEPlugin plugin, IKMLFeature feature) 
{
// Get any open balloon
IGEFeatureBalloon balloon = plugin.getBalloon();

if (balloon == null)
{
// not there, so create one
balloon = plugin.createHtmlStringBalloon("");
}

// set the balloon to the features geographic location
balloon.setFeature(feature);

// open the balloon in the plugin
ge.setBalloon(balloon);
}

如果您不想将某个功能传递给该方法,那么让该方法接受诸如纬度和经度之类的东西作为 double ,这将是相当简单的。

关于java - 使用 Google 地球插件管理气球的最明智方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com