Javascript 如何更新传单弹出窗口中的内容?

Javascript 如何更新传单弹出窗口中的内容?,javascript,maps,geojson,leaflet,Javascript,Maps,Geojson,Leaflet,我和你一起工作。我正在建立一张美国地图,用GeoJSON使用传单的L.GeoJSON绘制州边界 我能够在地图加载期间设置所有内容,但我需要能够在绘制地图后调整弹出窗口中的内容。以下是我所做工作的精简版本: var gjStates = new L.GeoJSON(null, null); wax.tilejson(url, function(tilejson) { map = new L.Map('map').addLayer(new wax.leaf.connector(tilej

我和你一起工作。我正在建立一张美国地图,用GeoJSON使用传单的L.GeoJSON绘制州边界

我能够在地图加载期间设置所有内容,但我需要能够在绘制地图后调整弹出窗口中的内容。以下是我所做工作的精简版本:

var gjStates = new L.GeoJSON(null, null);
wax.tilejson(url, function(tilejson) {  
    map = new L.Map('map').addLayer(new wax.leaf.connector(tilejson)).addLayer(gjStates);

    gjStates.on("featureparse", function (e) {
        if (e.properties && e.properties.name){
            pops[e.id.substring(4)] = e.layer.bindPopup('<h4>Hello ' + e.properties.name + '!</h4>');
        }
    });
    for (s in usStateData) {
        gjStates.addGeoJSON(usStateData[s]);
    }
});
通过firebug挖掘DOM,我还可以看到弹出内容是在一个内部变量中设置的,我可以更新它。但是,更新它并不会更新HTML,我也无法发现阿拉斯加的密钥是52_layers[52]也没有我希望的setContent()方法,如果它是L.Popup对象的话

gjStates._layers[52]._popupContent = 'I am ALASKA!';

所以,我有点困了,找不到我需要的东西。有什么方法可以让我在初始渲染后引用并更新地图上特定弹出窗口的内容吗?

我很确定您可以保留对所有层的引用,然后稍后调用
layer.bindpoup()
来更改弹出窗口的内容。

什么层?美国?这将导入所有不同的状态内容,我只想更改该层上每个对象上的弹出内容。
e.layer
在featureparse事件句柄中调整此答案可能对您有用:。对于其他有此问题的人,这可能会有所帮助
gjStates._layers[52]._popupContent = 'I am ALASKA!';