如何在OpenLayers地图中通过id获取Popup

时间:2012-05-08 08:24:40

标签: javascript openlayers

初始化地图时,我为功能创建了许多弹出窗口

var popup= new OpenLayers.Popup.FramedCloud(
    id, //id
    new OpenLayers.LonLat(msg.reviseLng, msg.reviseLat),
    new OpenLayers.Size(160,100),
    '<html></html>',
    null,
    true);
    popup.autoSize=false;
    map.addPopup(popup);

但是当我找到一个点时,我不能得到一个存在的弹出窗口,我想通过它的id得到它并显示它,请帮助我

1 个答案:

答案 0 :(得分:0)

这个想法应该是:当用户点击你认可的某个点时,应该显示弹出窗口,不是吗?

你可以这样做:

map.events.register("click", map , function(e){
   // Look for point... (your code)

   // Point detected!

   // now we need to take the popup identified by 'popupid' identifier and show it
   for(var i=0; i<map.popups.length; i++){
      if(map.popups[i].id == myid){
         map.popups[i].show();
         break;
      }
   }
});