首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用谷歌地球插件管理气球最聪明的方法是什么?

问用谷歌地球插件管理气球最聪明的方法是什么?
EN

Stack Overflow用户
提问于 2011-05-24 15:00:47
回答 1查看 333关注 0票数 0

我的公司开发了一个web应用程序(在Java中使用GWT),它使用Google插件来显示全球上的特定站点和其他数据。我们目前正在按每次使用的基础上管理气球,这意味着每个需要显示气球的功能都在管理气球本身的破坏(如果需要的话)和创建。这导致了一些问题,如果我们试图打开一个气球,而另一个还在打开,GE插件有时会崩溃。虽然我们几乎在每一种情况下都解决了这个问题,但我认为集中地管理气球,而不是在使用它们的每一个地方都是明智的。

障碍:

许多要展示的站点(其位置必须非常precise;

  • multiple层)正在使用中,每个站点都可能显示气球;

是否有人创建了一个"BalloonManager"-type来处理这类事情?你怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-12 10:55:49

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

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

下面的代码应该有助于解释--它使用的是您需要的api方法,因此它应该是有用的。

代码语言:javascript
复制
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);
}

如果您不想将一个特性传递给该方法,那么将该方法修改为接受像经度和经度这样的东西(例如双倍)将是相当简单的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6112525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档