[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