我想我第一次读过这个。仔细观察后发现它似乎仍然不可能(以那种简单的方式)
google.earth.addEventListener(placemark, 'click', function(event)
{
alert('click');
});
...鼠标事件可以附加到插件中的大多数几何图形(3D模型除外),...
谷歌地球API
也许可以通过实现自定义交叉点“侦听器”来做到这一点
//编辑:
也许那不是洞的故事。更多的研究表明,可以针对某些几何形状进行最热门的测试。有ge interface
一个名为hitTest(...)
api doc的函数
GEHitTestResult GEView.hitTest( float x,
KmlUnitsEnum xUnits,
float y,
KmlUnitsEnum yUnits,
GEHitTestModeEnum mode
)
不幸的GEHitTestModeEnum
是,仅适用于GEPlugin.HIT_TEST_GLOBE GEPlugin.HIT_TEST_TERRAIN
GEPlugin.HIT_TEST_BUILDINGS
所以你可以对建筑物进行测试,但不能对自定义 3D 模型进行测试......
点击自定义 3D 模型的一个稍微有用的解决方案可能是本期中描述的使用其他“可事件”不可见地标来检测点击的解决方案。
hittesting的小代码示例
//编辑2:
我在当前项目中使用的解决方案听起来是这样的:
为多边形可以接收点击事件的每个“点击事件接收自定义 3d 模型”创建一个带有多边形的边界框
google.earth.addEventListener(polygonPlacemark, 'click', function(event) {
alert('placemark bounding box clicked');
});