AFAIK 您不能手动为 Google Earth Api 中的任何对象引发任何事件,您只能为它们添加一个事件侦听器作为命名或匿名方法。
但是,您当然可以使用自定义方法模拟地标的默认点击行为(打开气球、飞到等)。
我以前做过这个,它只要求每个功能在插件中都有一个唯一的 ID(通过 api 或在 kml 中设置)。然后我用它作为基于它的 id 来定位特征的方法。
在您的示例中,假设targetEvement
还可以设置相应的 ID,那么您可以使用这种技术来模拟这样的“点击”。
var targetElement = document.elementFromPoint(data.x, scaledY);
if (null != targetElement) {
var event = $.Event ("click");
$(targetElement).trigger (event);
simulateClick(targetElement);
}
var simulateClick = function (element) {
// presuming 'ge' references the plugin
// we create a feature balloon based on the placemark
var id = element.attr('id');
var placemark = ge.getElementById(id); // corresponding placemark
var balloon = ge.createFeatureBalloon();
balloon.setFeature(placemark);
ge.setBalloon(balloon);
// Update the view in Google Earth to the placemark.
// if no abstract view is defined you could also use the placemarks
// latitude and longitude to construct a KmlCamera object.
ge.getView().setAbstractView(placemark.getAbstractView());
}