OpenLayers SelectFeature和XY

Jac*_*cuz 3 javascript maps events openlayers

我需要知道点击某个功能的确切点.使用SelectFeature我可以获得有关单击了哪个功能的信息,但没有关于地图上某个位置的信息.

以下是创建listner函数的代码:

select = new OpenLayers.Control.SelectFeature(
            [vectorLayer],
            {
                clickout: false, toggle: false,
                multiple: false, hover: false
            }
        );

osMap.addControl(select); 
Run Code Online (Sandbox Code Playgroud)

这是我的听众的定义:

vectorLayer.events.on({
            "featureselected": function(e) {
                 //here I need to get XY
                 //something like the code below 
                 //(it doesn't work but clearly explains what my idea is)           
                 var lonlat = osMap.getLonLatFromViewPortPx(e.xy);

            }
});    
Run Code Online (Sandbox Code Playgroud)

谢谢

Mic*_*gue 5

尼克拉斯是对的,我使用类似弹出窗口的东西:

var popup = new OpenLayers.Popup.Anchored(
  "popup", 
  map.getLonLatFromPixel(evt.xy),
  null,
  evt.text,
  null,
  false
);
Run Code Online (Sandbox Code Playgroud)

如果evt不可用,您可以使用MousePosition控件:

 map.getLonLatFromPixel(
   (map.getControlsByClass("OpenLayers.Control.MousePosition??")[0]).lastXy
 ) 
Run Code Online (Sandbox Code Playgroud)