Hi, there are several things wrong in your code.
if what you pasted below is your code, then you should get JavaScript errors because you messed up the braces: On Tue, Mar 3, 2009 at 5:21 PM, RFeagin <[email protected]> wrote: > > I am having problems with getting a clustering strategy to work on my vector > layer. Here is my layer definition... > vResultsLayer = new OpenLayers.Layer.Vector("Results"), > { strategies: [new OpenLayers.Strategy.Fixed(), > new OpenLayers.Strategy.Cluster()], > 'sphericalMercator': true, > styleMap: new OpenLayers.StyleMap({ > "default": style, > "select": { > fillColor: "#8aeeef", > strokeColor: "#32a8a9" > } > }) > }; This should read vResultsLayer = new OpenLayers.Layer.Vector("Results", { strategies: [new OpenLayers.Strategy.Fixed(), new OpenLayers.Strategy.Cluster()], 'sphericalMercator': true, styleMap: new OpenLayers.StyleMap({ "default": style, "select": { fillColor: "#8aeeef", strokeColor: "#32a8a9" } }) }); > and here is my code that creates the features... > getWKT_Results: function() { > respWKT = OpenLayers.Request.GET({ > url: "Map_GetQueryResult.ashx?" + guid(), > success: function(request) { > wkt = new OpenLayers.Format.WKT({ > 'internalProjection': new > OpenLayers.Projection("EPSG:900913"), > 'externalProjection': new > OpenLayers.Projection("EPSG:4326") > }); > > format = new OpenLayers.Format.XML(); > var xmlParser = format.read(respWKT.responseText); > > var featureNodes = format.getElementsByTagNameNS(xmlParser, > '*', 'QueryResults'); > > var ftrArray = new Array(); > > for (var i = 0; i < format.getElementsByTagNameNS(xmlParser, > '*', 'QueryResults').length; i++) { > try { > > ftrArray.push(wkt.read(format.getElementsByTagNameNS(featureNodes[i], '*', > 'WKT')[0].text)[0]); > ftrArray[ftrArray.length - 1].fid = > format.getElementsByTagNameNS(featureNodes[i], '*', 'featureID')[0].text; > } > catch (e) { > test = e.toString(); > } > } > vResultsLayer .addFeatures(ftrArray); > //try to force clustering because it isn't getting set for > the layer for some reason > //adding these lines did force clustering on, but caused > "this.layer.events" error trying to unregister "beforefeaturesadded" event > //vResultsLayer .strategies = [new > OpenLayers.Strategy.Cluster()]; > //vResultsLayer .strategies[0].active = true; > //vResultsLayer .strategies[0].clustering = true; > } You shouldn't do this manually. Add a HTTP Protocol with a WKT Format to your layer. See http://www.openlayers.org/dev/examples/behavior-fixed-http-gml.html for a similar use case. You just have to replace the Fixed strategy with your Cluster strategy and the GML format with a WKT format. Regards, Andreas. -- Andreas Hocevar OpenGeo - http://opengeo.org/ Expert service straight from the developers. _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
