2012-07-05 75 views
1

我构建了一个openLayers贴图,我想实现一个弹出窗口。我下面一些谷歌创立的资源: http://lists.osgeo.org/pipermail/openlayers-users//2011-August/021680.htmlopenLayers wms弹出窗口不起作用

的代码是:

<script type="text/javascript"> 
    var map; 
    var osm; 
    var layer; 
    var info; 
    function init() { 
     var bounds = new OpenLayers.Bounds(
       1160036.31025726, 7444371.48007091, 
       1160792.70130936, 7444966.36493288 
       ); 
     map = new OpenLayers.Map("map", { 
       maxExtent: bounds, 
}); 
    osm =new OpenLayers.Layer.OSM({visibility: true}); 
    layer = new OpenLayers.Layer.WMS(
       "Working Field", "http://localhost:8080/geoserver/layer/wms", 
       { 
       layers: 'layer:layer', 
       transparent: true, 
       isBaseLayer: false 
       }, 
       { 
       sphericalMercator: true,       
       opacity: 0.5 
       } 
      ); 


      map.addLayers([osm,layer]); 
      map.zoomToExtent(bounds); 
    info = new OpenLayers.Control.WMSGetFeatureInfo({ 
      url: "http://localhost:8080/geoserver/wms", 
      //layerUrls: 'http://localhost:8080/geoserver/layer/wms', 
    title: 'Identify features by clicking', 
      layers: [acm], 
    queryVisible: true, 
    infoFormat: 'text/html', 
    maxFeatures: 1, 
    eventListeners: { 
     getfeatureinfo: function(event) { 
      if (event.text.indexOf("<table class=\"featureInfo\">") != -1){ 
       popup = new OpenLayers.Popup.FramedCloud(
        "chicken", 
        map.getLonLatFromPixel(event.xy), 
        null, 
        event.text, 
        null, 
        true 
       ), { 
        autoSize: false, 
        maxSize: new OpenLayers.Size(5,5) 
       }; 
       map.addPopup(popup); 
      } 
     } 
    } 
}); 
map.addControl(info); 
    } 
</script> 

什么是错的,将有助于任何线索。谢谢!

回答

0

其实层:[ACM]没有定义还有一件事是,我们需要激活像信息控制:

info.activate(); 
+0

感谢您的反馈意见。我用[layer]更改了[acm],并添加了info.activate();但仍然不起作用。 –

+0

可能是你在这行失败if(event.text.indexOf(“

”)我想。一旦检查你是否能够进入条件与否。它可以帮助我们调试:) – Unknown

+0

该代码查看OpenLayers.Control.WMSGetFeatureInfo中是否存在一些表信息,并用于指出制作的人,以获得仅用于弹出窗口的一层,它具有一些属性。 –