Javascript 单击OpenLayers中的GML轨迹
如何在开放层中捕捉GML轨道上的点击事件 我有以下代码:Javascript 单击OpenLayers中的GML轨迹,javascript,events,openlayers,Javascript,Events,Openlayers,如何在开放层中捕捉GML轨道上的点击事件 我有以下代码: var gmlTrack = new OpenLayers.Layer.GML("Track", myGpxUrl, { format: OpenLayers.Format.GPX, projection: new OpenLayers.Projection("EPSG:4326") }); 我认为解决方案是添加以下行: gmlTrack.events.register("click", gmlTrack, functi
var gmlTrack = new OpenLayers.Layer.GML("Track", myGpxUrl, {
format: OpenLayers.Format.GPX,
projection: new OpenLayers.Projection("EPSG:4326")
});
我认为解决方案是添加以下行:
gmlTrack.events.register("click", gmlTrack, function(e){
alert("Click on GPX track!");
});
但它不起作用
需要明确的是:我只希望在用户单击GPX轨迹时触发click事件
我做错了什么?我该如何修复它
谢谢。您可以使用select feature控件(它使OpenLayers能够知道如何处理事件)实现所需的功能 并包含一些选定轨迹的处理程序,例如
function trackSelected(feature){
alert("something here");
}
这是一个有用的谢谢你的回答。我的问题是因为我使用了两个SelectFeature,而OpenLayers似乎不太支持这一点。如果我停用第一个SelectFeature,第二个就可以了。你肯定可以在同一张地图上有两个SelectFeature控件,我的很多地图都可以。你可能不能让它们同时激活(我从来没有想过会发生这种情况)。是的,这就是我的意思:我不能让它们同时激活。我想有一个得到“悬停”事件和一个得到“点击”事件。
function trackSelected(feature){
alert("something here");
}