我有一个谷歌地球插件,其中包含从 kml 文件加载的数据。kml 包含多边形,当单击多边形时,会打开带有标签内容的气球。
如何将处理程序附加到气球的开口处,然后此处理程序将创建一个自定义气球并停止默认事件。
我认为应该是这样的,我只是不知道要听什么事件!
google.earth.addEventListener("SOMETHING", 'click', function(event) {
//Code to create custom baloon
});
我有一个谷歌地球插件,其中包含从 kml 文件加载的数据。kml 包含多边形,当单击多边形时,会打开带有标签内容的气球。
如何将处理程序附加到气球的开口处,然后此处理程序将创建一个自定义气球并停止默认事件。
我认为应该是这样的,我只是不知道要听什么事件!
google.earth.addEventListener("SOMETHING", 'click', function(event) {
//Code to create custom baloon
});
您正在收听“点击”,您需要知道的是从什么地方收听点击。
在这种情况下,我猜你想听任何多边形的点击。
为此,请为所有点击设置一个通用侦听器,然后测试点击是否在多边形上,如果是,则取消默认行为并显示自定义气球。
例如
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);
}
});