【问题标题】:Update OpenLayers popup更新 OpenLayers 弹出窗口
【发布时间】:2012-07-24 16:49:49
【问题描述】:

我正在尝试更新地图中的一些弹出窗口,但我无法做到。

首先我创建一些标记,然后使用下一个代码创建一个与它们关联的弹出窗口。每个标记一个弹出窗口:

 popFeature = new OpenLayers.Feature(markers, location); 
                         popFeature.closeBox = true;
                         popFeature.popupClass =     OpenLayers.Class(OpenLayers.Popup.FramedCloud, {
                                 'autoSize': true
                         });
                         popFeature.data.popupContentHTML = "hello";                         
popFeature.data.overflow = (false) ? "auto" : "hidden";     
                         var markerClick = function (evt) {
                                if (this.popup == null) {
                                    this.popup = this.createPopup(this.closeBox);
                                    map.addPopup(this.popup);
                                    this.popup.show();
                                } else {
                                    this.popup.toggle();
                                }
                                currentPopup = this.popup;
                                OpenLayers.Event.stop(evt);
                         };
                         mark.events.register("mousedown",     popFeature, markerClick);

之后,我将新标记添加到我的标记层。

到这里为止一切都很好,但是,我想稍后更新 popupcontentHTML,但我不知道如何访问该值。

我阅读了 OL API,但我不明白如何获取它。我对功能、事件、扩展感到迷茫……

我想知道我是否可以访问该属性并写下其他单词。

【问题讨论】:

    标签: popup openlayers marker


    【解决方案1】:

    我自己回答,也许以后会对其他人有所帮助:

    for(i = 0; i < map.popups.length; i++){
    if(map.popups[i].lonlat.lon == marker.lonlat.lon){
    map.popups[i].setContentHTML("new content");
    }
    }
    

    内容将立即刷新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      • 2020-10-03
      相关资源
      最近更新 更多