Google Earth api:打开信息窗口时如何执行处理程序

发布于 2024-11-17 16:02:35 字数 292 浏览 3 评论 0原文

我有一个 Google Earth 插件实例,其中包含从 kml 文件加载的数据。 kml 包含多边形,当单击多边形时,带有标签内容的气球将打开。

如何将处理程序附加到气球的开口,然后该处理程序将创建一个自定义气球并停止默认事件。

我想应该是这样的,只是不知道要监听什么事件!

google.earth.addEventListener("SOMETHING", 'click', function(event) {
//Code to create custom baloon
});

I have a Google earth plugin istance with data loaded from a kml file.
The kml contains polygons, when clicking on the polygon the baloon with the contenent of the tag is opened.

How can I attach an handler to the opening of the baloon, this handler will then create a custom baloon and stop the default event.

I think it should be something like this, I just don't know what event to listen for!

google.earth.addEventListener("SOMETHING", 'click', function(event) {
//Code to create custom baloon
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黒涩兲箜 2024-11-24 16:02:35

你正在监听“点击”,你需要知道的是从什么地方监听点击。

在这种情况下,我猜您想监听任何多边形上的点击。

为此,为所有点击设置通用侦听器,然后测试点击是否在多边形上,如果是,则取消默认行为并显示自定义气球。

例如

google.earth.addEventListener(ge.getWindow(), 'click', function(e) { 
    if (e.getTarget().getType() == 'KmlPlacemark' && 
    e.getTarget().getGeometry().getType() == 'KmlPolygon') {
        // Prevent the default balloon from appearing.
        e.preventDefault();

        // create a custom balloon attached to the target
        var balloon = ge.createHtmlStringBalloon('');
        balloon.setFeature(e.getTarget());
        balloon.setContentString("custom baloon!");
        ge.setBalloon(balloon);
    }
});

You are listening for 'click', what you need to know is what to listen for click from.

In this case I guess you want to listen for clicks on any polygons.

To do this set up a generic listener for all clicks, then test if the click is on a polygon, if so then cancel the default behaviour and display a custom balloon.

e.g.

google.earth.addEventListener(ge.getWindow(), 'click', function(e) { 
    if (e.getTarget().getType() == 'KmlPlacemark' && 
    e.getTarget().getGeometry().getType() == 'KmlPolygon') {
        // Prevent the default balloon from appearing.
        e.preventDefault();

        // create a custom balloon attached to the target
        var balloon = ge.createHtmlStringBalloon('');
        balloon.setFeature(e.getTarget());
        balloon.setContentString("custom baloon!");
        ge.setBalloon(balloon);
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文