Hello,
I have ClusterStrategy On Vector Layer. On select I'm showing a popup.
function createPopup(feature){
if(popup){
onFeatureUnselect(feature);
}
popup = new OpenLayers.Popup.FramedCloud("feed",
new OpenLayers.LonLat(feature.geometry.x, feature.geometry.y),
new OpenLayers.Size(300,120),
"abc", null,
true, onPopupClose);//, onPopupClose
popup.autoSize= false;
map.addPopup(popup);
}
Please notice that I'm *not *adding "popup" to "feature".
My problem is that on unselect feature (as a picture on the map) is not
visible. I can still see it in debug in firebug.
I tracked the problem down to the following:
drawFeature in OpenLayers/Renderer.js
var bounds = feature.geometry.getBounds();
if (!bounds.intersectsBounds(this.extent)) {
style = {display: "none"};
}
When I checked the "bounds" they are in EPSG:4326 and "this.extent" is in
EPSG:900913. In my application I'm using EPSG:900913.
This means that bounds.intersectsBounds(this.extent) will always return
false.
I have found a workaround, I transform feature.geometry.bounds
from EPSG:4326 to EPSG:900913 but this means dirty code and results in some
other quirks (that's exactly why I use new
OpenLayers.LonLat(feature.geometry.x, feature.geometry.y), instead
of feature.geometry.getBounds().getCenterLonLat()) .
Looks to me like a bug but maybe I'm doing something wrong?
--
salut
#geko
_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users