OpenLayers.Layer.Vector werkt niet?

Ik worstel om mijn vectorlaag aan het werk te krijgen. De wfs werkt zoals ik hem heb getest door een wfs-laag te maken en deze toe te voegen aan de kaart, nu probeer ik een vectorlaag weer te geven met de resultaten van een zoekopdracht, maar er wordt niets weergegeven. De resultaten van de zoekopdracht verschijnen in het raster, maar niet in de vectorlaag. Hier is de code voor de zoekopdracht:

var features = [];
var wfs = new OpenLayers.Layer.Vector("Search");
var select = new GeoExt.grid.FeatureSelectionModel();

var protocol = new OpenLayers.Protocol.WFS({
    url:  "http://localhost:8080/geoserver/wfs",
featureType: "location_points",
featureNS: "http://www.openplans.org/topp",
geometryName: "the_geom"
});


formPanel = new GeoExt.form.FormPanel({
title: "Species Search",
height: 150,
region: "north",
protocol: protocol,
items: [{
    xtype: "textfield",
    width: 200,
    name: "scientific__like",
    fieldLabel: "name",
    allowBlank: false,
    minLength: 4
}],
listeners: {
    actioncomplete: function(form, action) {
        features = action.response.features;
        store.loadData(features);
        vm=map.getLayersByName("Search");
        if(vm.length===0){
            wfs = new OpenLayers.Layer.Vector("Search");
            map.addLayers(wfs);
            store.bind(wfs);
            select.bind(wfs);
        }
    }
},
buttons: [{text: 'search',
    handler: function(){
        formPanel.search();
    }
}],
keys: [{ key: [Ext.EventObject.ENTER], 
    handler: function() {
        formPanel.search();
    }
}]
});

Firebug geeft de volgende foutmelding:

layer.map is null

layer.map.addControl (selectControl); (FeatureSelectionModel.js (regel 174))

Ik volgde een voorbeeld online (http://ian01.geog.psu.edu/geoserver_docs/apps/gaz/index.html). Ik verontschuldig me als iemand dit al heeft gevraagd, ik heb overal naar het antwoord gezocht en niets gevonden, ik ben hier vrij nieuw, dus alle hulp zou zeer op prijs worden gesteld.

Bedankt

Zullen

3

1 antwoord

Als u naar uw code kijkt, moet u:

map.addLayer(wfs);

of

map.addLayers([wfs]);

You have map.addLayers(wfs), which is incofrect, I believe.

6
toegevoegd
@Will: Geef het_skua-tegoed en markeer deze vraag als beantwoord door op het vinkje naast dit antwoord te klikken. :)
toegevoegd de auteur CaptDragon, de bron
Het werkt! zeer gewaardeerd!
toegevoegd de auteur Ansis Māliņš, de bron