updating the openmnnd.html example to work with new feature handler behavior - see #550

git-svn-id: http://svn.openlayers.org/trunk/openlayers@2847 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Tim Schaub
2007-03-22 17:03:37 +00:00
parent e45094ea0c
commit 13e41155e6
+15 -5
View File
@@ -2,10 +2,14 @@
<head> <head>
<style type="text/css"> <style type="text/css">
#map { #map {
width: 800px; margin-right: 300px;
height: 475px; height: 475px;
border: 1px solid black; border: 1px solid black;
} }
#info {
width: 300px;
float: right;
}
</style> </style>
<script src="../lib/OpenLayers.js"></script> <script src="../lib/OpenLayers.js"></script>
<script type="text/javascript"> <script type="text/javascript">
@@ -47,8 +51,8 @@
map.addControl(ls); map.addControl(ls);
drawControls = { drawControls = {
selectPlat: new OpenLayers.Control.SelectFeature(pwfs, {callbacks: {'up':feature_info,'move':feature_info_hover}}), selectPlat: new OpenLayers.Control.SelectFeature(pwfs, {callbacks: {'up':feature_info,'over':feature_info_hover}}),
selectRoad: new OpenLayers.Control.SelectFeature(rwfs, {callbacks: {'up':feature_info,'move':feature_info_hover}}) selectRoad: new OpenLayers.Control.SelectFeature(rwfs, {callbacks: {'up':feature_info,'over':feature_info_hover}})
}; };
for(var key in drawControls) { for(var key in drawControls) {
@@ -71,7 +75,10 @@
} }
var displayedGeom = null; var displayedGeom = null;
function feature_info_hover(geometry) { function feature_info_hover(geometry) {
if (displayedGeom != geometry && if(geometry.parent) {
geometry = geometry.parent;
}
if (displayedGeom != geometry &&
(!geometry.feature.layer.selectedFeatures.length || (!geometry.feature.layer.selectedFeatures.length ||
(geometry.feature.layer.selectedFeatures[0].geometry == geometry))) { (geometry.feature.layer.selectedFeatures[0].geometry == geometry))) {
feature_info(geometry); feature_info(geometry);
@@ -79,6 +86,9 @@
} }
} }
function feature_info(geometry) { function feature_info(geometry) {
if(geometry.parent) {
geometry = geometry.parent;
}
var html = "<ul>"; var html = "<ul>";
for(var i in geometry.feature.attributes) for(var i in geometry.feature.attributes)
html += "<li><b>" + i + "</b>: "+ geometry.feature.attributes[i] + "</li>"; html += "<li><b>" + i + "</b>: "+ geometry.feature.attributes[i] + "</li>";
@@ -89,7 +99,7 @@
</script> </script>
</head> </head>
<body onload="init()"> <body onload="init()">
<div style="right: 20px; width: 350px; position:absolute;"> <div id="info">
<ul> <ul>
<li>Streams: Feature Count <span id="stream_features">0</span></li> <li>Streams: Feature Count <span id="stream_features">0</span></li>
<li>Plat: Feature Count <span id="plat_features">0</span></li> <li>Plat: Feature Count <span id="plat_features">0</span></li>