我正在使用java WWsdk。 我希望当用户点击地图时(即不是图标或地标等),SelectListener会响应地图上的用户点击。
当我点击我的对象时它对我很好,但是当我点击“空白空间”时它不会触发。就像水/土地一样。
SelectListener的文档说
如果光标下没有物体但光标在地形上,则选择事件将>将地形识别为拾取的物体,并将包括相应的地理>位置
这句话听起来好像我每次不点击一个对象都会得到一个事件,但是我没有得到这个。
我是否应该添加其他类型的图层来获取地图上的点击以触发选择事件?
我使用这个对我来说是需要对点击的对象执行的操作:
this.worldWindowGLCanvas1.addSelectListener(new SelectListener()
{
public void selected(SelectEvent event)
{
//Never goes here for clicks on map, just clicks
//on objects i have already created.
doStuff();
}
}
答案 0 :(得分:1)
使用MouseListener
添加addMouseListener()
:
this.worldWindowGLCanvas1.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
doStuff();
}
...
}
如果您想阻止World Wind通过点击执行其他操作,您可能还希望将监听器添加到AWTInputHandler
而不是WorldWindowGLCanvas
。更多详情in this question。