[OpenLayers-Users] Support for Cursors?

Bill Thoen bthoen at gisnet.com
Thu Jul 2 12:19:02 EDT 2009


I'm not sure either. Here's how I'm setting display classes for the info 
tool (as an example). This shows the pointer cursor , but only when you 
hover over the tool icon on the control panel:
   .olControlPanel .olInfoItemActive {
      background-image: url("../img/info-on.png");
      cursor: pointer;
   }

And I add the array of tools to the panel like so:
     // Info Tool
      toolButtons[9] = new OpenLayers.Control.FeatureInfo(
         {title:"Get feature information", "displayClass": "olInfo", 
"showMarker" : false};
      // Add the control panel
      var toolArray = [];
      for( var i=0; i<toolz.length; i++) {
         toolArray[i] = toolButtons[toolz[i]];
      }
      var panel = new OpenLayers.Control.Panel({ div : tool_div });
      panel.addControls( toolArray );
      this.map.addControl( panel );

(the integer array toolz[] that indexs the array of tool objects 
(toolsArray) is just a device that allows me to work with a subset of 
the tools that I have and also put them in a particular order. I don't 
think this has anything to do with it, but I explain it 'cause it's a 
bit weird.)

As far as I can tell, the map window's div  displayClass is null. What 
should it be, or am I barking up the wrong tree?

-Bill



Bart van den Eijnden (OSGIS) wrote:
> Hi Bill,
>
> not sure, can you check the css class which has been set on the map 
> viewport div when you activate a tool? They should have those values. 
> Maybe there is another class which is preventing the cursors from 
> showing up.
>
> Best regards,
> Bart
>
> Bill Thoen wrote:
>> Thanks Bart, but for some reason this changes the cursor only over 
>> the tool buttons on the control panel. How do I make it extend over 
>> my map window when I change tools?
>>
>> bartvde at osgis.nl wrote:
>>  
>>> Hi Bill,
>>>
>>> yes it's in 2.8.
>>>
>>> You need to add css classes depending on the displayClass + "Active"
>>>  of a control, e.g. this is what I have:
>>>
>>> .olControlDragPanActive {
>>>     cursor: url(lib/openlayers/theme/default/img/pan.cur) 16 16,
>>> url(../geoservices2.2/lib/openlayers/theme/default/img/pan.cur), auto;
>>> }
>>> .olControlZoomBoxActive {
>>>     cursor: url(lib/openlayers/theme/default/img/zoomin.cur) 9 9,
>>> url(../geoservices2.2/lib/openlayers/theme/default/img/zoomin.cur),
>>> auto;
>>> }
>>> .zoomoutActive {
>>>     cursor: url(lib/openlayers/theme/default/img/zoomout.cur) 9 9,
>>> url(../geoservices2.2/lib/openlayers/theme/default/img/zoomout.cur),
>>> auto;
>>> }
>>> .olControlDragPanActive.olDragDown {
>>>     cursor: url(lib/openlayers/theme/default/img/pandown.cur) 16 16,
>>> url(../geoservices2.2/lib/openlayers/theme/default/img/pandown.cur),
>>> auto;
>>> }
>>> .GeoServicesControlSLDSelectActive {
>>>     cursor: default;
>>> }
>>> .GeoServicesControlFeatureInfoActive {
>>>     cursor: pointer;
>>> }
>>> .olControlMeasureActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePolygonActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePointActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePathActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePointActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePathActive {
>>>     cursor: crosshair;
>>> }
>>> .olControlDrawFeaturePolygonActive {
>>>     cursor: crosshair;
>>> }
>>>
>>> Hope this helps.
>>>
>>> Best regards,
>>> Bart
>>>
>>>      
>>>> Was support for using different cursor icons (pointer, text, wait, 
>>>> etc.)
>>>> built into version 2.8? I didn't see anything about cursors in the
>>>> release notes but I thought there had been some work done on this.
>>>>
>>>> If not, can someone tell me the best place to set the cursor icon for
>>>> tool buttons? Is there an "on activate" event I can listen for, or is
>>>> there a better way to do this?
>>>>
>>>> Thx,
>>>> - Bill Thoen




More information about the Users mailing list