you can register this function for click event by replacing hover:true with hover:false * *
Regards Sajeer On Thu, Jul 16, 2009 at 3:38 PM, Adrian Popa <adrian_gh.p...@romtelecom.ro>wrote: > Hello Sajeer, > > How do you register your functions to events so that they are executed on > mouse over instead of on click? Or is your popup created when you click a > feature? > > Thanks, > Adrian > > > Sajeer... wrote: > > * > > Hi, > > try this one, > > > > > > function > *onFeatureSelect(feature) { > > selectedFeature = feature; > > popup = > *new* > OpenLayers.Popup.FramedCloud("", > > feature.geometry.getBounds().getCenterLonLat(), > *new* OpenLayers.Size(100,100), "<div style='padding:15px 5px 5px 10px;'>"+ > "<table style='font-size:13px;color:red'>"+ "<tr>"+ "<td > width='40%'>Name</td>"+ "<td width='5%'>:</td>"+ "<td>" > +feature.attributes.label+"</td>"+ "</tr>"+ "</table></div>", *null*, * > true*, onPopupClose); > > feature.popup = popup; > map.addPopup(popup); > > } > *function* onPopupClose(evt) { > > selectControl.unselect(selectedFeature); > > } > *function* onFeatureUnselect(feature) { > > * *map.removePopup(feature.popup); > > feature.popup.destroy(); > > feature.popup = *null*; > > } > > var kmlLayer = new OpenLayers.Layer.GML(.............); > > var selectControl = *new* OpenLayers.Control.SelectFeature(kmlLayer, > > {hover: *true*,onSelect: onFeatureSelect, onUnselect: onFeatureUnselect}); > > map.addControl(selectControl); > > selectControl.activate(); > > Regards > > Sajeer > > > > On Thu, Jul 16, 2009 at 3:07 PM, Adrian Popa <adrian_gh.p...@romtelecom.ro > > wrote: > >> Hello Pavel, >> >> Great idea... However - I would like to keep popups for when I click on an >> item. >> Would it be possible to do something like: >> >> layer.events.on({ "featureselected": onLocationSelect, >> "featureunselected": onLocationUnselect, //open regular popups >> "onMouseOver": onLocationMouseOver, >> "onMouseOut": onLocationMouseOut >> });? >> >> Problem is - I don't see those kinds of events on my layer. These are the >> event types for a vector layer: >> 0 "beforefeatureadded" 1 "beforefeaturesadded" >> 2 "featureadded" >> 3 "featuresadded" >> 4 "beforefeatureremoved" >> 5 "featureremoved" >> 6 "featuresremoved" >> 7 "beforefeatureselected" >> 8 "featureselected" >> 9 "featureunselected" >> 10 "beforefeaturemodified" >> 11 "featuremodified" >> 12 "afterfeaturemodified" >> 13 "vertexmodified" >> 14 "sketchstarted" >> 15 "sketchmodified" >> 16 "sketchcomplete" >> 17 "refresh" >> 18 "loadstart" >> 19 "loadend" >> 20 "loadcancel" >> 21 "visibilitychanged" >> 22 "move" >> 23 "moveend" >> >> Any idea what the events would be? If they are supported? >> >> Pavel Iacovlev wrote: >> >> There many possible ways around this problem. >> >> One is rewrite/extend your popup code. Popup is triggered on mouseover >> and on mouseout popup is hidden. You can style the popup so it looks >> more like a tooltip/label. >> >> On Thu, Jul 16, 2009 at 2:34 PM, Adrian >> Popa<adrian_gh.p...@romtelecom.ro> <adrian_gh.p...@romtelecom.ro> wrote: >> >> >> Hi, >> >> Just a quick question - my users want to see the name of the city when >> they are hovering over points loaded through KML in a vector layer. I >> know this isn't supported, but are there plans to support such labels? >> >> I'm thinking a different strategy might be to override/inherit the >> OpenLayers.Control.MousePosition class and based on coordinate changes, >> load the name from the closest KML feature. It doesn't need to be too >> accurate, but it can't be an exact match, because the mouse will never >> get that close to the KML coordinates. >> However this solution will be costly - because on every mouse move you >> would have to go through all the KML items and see which match... >> >> What are your ideas regarding this subject? >> >> --- >> >> Adrian Popa >> NOC Division >> Network Engineer >> Divizia Centrul National de Operare Retea >> Departament Transport IP & Metro >> Compartiment IP Core & Backbone >> Phone: +40 21 400 3099 >> >> _______________________________________________ >> Users mailing >> listus...@openlayers.orghttp://openlayers.org/mailman/listinfo/users >> >> >> >> -- >> --- >> Adrian Popa >> NOC Division >> Network Engineer >> Divizia Centrul National de Operare Retea >> Departament Transport IP & Metro >> Compartiment IP Core & Backbone >> Phone: +40 21 400 3099 >> >> >> >> _______________________________________________ >> Users mailing list >> Users@openlayers.org >> http://openlayers.org/mailman/listinfo/users >> >> > >
_______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users