#628 - a feature has a geometry - a geometry doesn't have a feature - features are rendered, selected, moved, modified, etc - down in the renderer, expando properties on nodes are limited to _featureId, _style, and _options - this removes expandos that created circular references back through the map and to other dom elements - when the renderer is involved in selecting features, it returns a featureId (instead of a geometry or feature) and the layer is responsible for fetching the appropriate feature
git-svn-id: http://svn.openlayers.org/trunk/openlayers@3043 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
+3
-3
@@ -27,7 +27,7 @@
|
||||
featureNS: 'http://www.openplans.org/topp',
|
||||
extractAttributes: false
|
||||
} );
|
||||
rlayer.onFeatureInsert=function(feature) { feature.style.strokeColor = "#ff0000"; feature.layer.renderer.drawGeometry(feature.geometry, feature.style); }
|
||||
rlayer.onFeatureInsert=function(feature) { feature.style.strokeColor = "#ff0000"; feature.layer.drawFeature(feature); }
|
||||
map.addLayer(rlayer);
|
||||
layer = new OpenLayers.Layer.WFS( "Cities",
|
||||
"http://dev.openlayers.org/geoserver/wfs", {typename: 'topp:tasmania_cities'},
|
||||
@@ -44,7 +44,7 @@
|
||||
df.featureAdded = function(feature) {
|
||||
feature.state = OpenLayers.State.INSERT;
|
||||
feature.style['strokeColor'] = "#0000ff";
|
||||
feature.layer.renderer.drawGeometry(feature.geometry, feature.style);
|
||||
feature.layer.drawFeature(feature);
|
||||
}
|
||||
dp = new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {handlerOptions: {'freehand': false}, 'displayClass': 'olControlDrawFeaturePoint'});
|
||||
dp.featureAdded = function(feature) {
|
||||
@@ -53,7 +53,7 @@
|
||||
feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom);
|
||||
feature.state = OpenLayers.State.INSERT;
|
||||
feature.style['strokeColor'] = "#0000ff";
|
||||
feature.layer.renderer.drawGeometry(feature.geometry, feature.style);
|
||||
feature.layer.drawFeature(feature);
|
||||
}
|
||||
p.addControls([ new OpenLayers.Control.Navigation(), df, dp ]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user