Working with esri.graphics

Few common scenarios when you are working with the graphics layer (@ version 1.3) in the ArcGIS Server JS API

1. map.graphics returns the graphics layer
2. map.graphics.graphics returns the array of graphic elements (geometry, symbol, attribute, infotemplate) added to the graphics layer

To remove all graphic elements in the graphic layer
map.graphics.clear();

To show/hide specific graphic element
map.graphics.graphics[index].show();
map.graphics.graphics[index].hide();

To check if any specific graphic element is being shown or not:
// 'none' is hidden and 'block' is visible
map.graphics.graphics[index].getDojoShape().rawNode.style.display

Loop through all the graphic elements
var graphics = map.graphics.graphics;
for (var i=0; i< graphics.length; i++)
{
// do something with graphics[i]
}

even better


dojo.forEach(map.graphics.graphics, "console.log(item.getDojoShape().rawNode.style.display)");
//or
dojo.forEach(map.graphics.graphics, "console.log(item,index,array)");
//or
dojo.forEach(map.graphics.graphics, function(item){//item is a graphic element });

Note: @version 1.4 you will have ability to add multiple graphics layers (in addition to the default graphics layer) and can control the stack order (z-index).

Advertisements

2 Responses to “Working with esri.graphics”

  1. web tasarım Says:

    thanks for sharing

  2. Milla Says:

    A very nice piece.
    I no the many options you have given should answer my question but maybe I am not thinking this through.

    Problem:
    A section of my bit of code onMouseDragEnd draws a point. Using map.graphics.graphics[index].hide() hides the very first dot that was created but subsequent don’t aren’t cleared. I know I am to loop through and keep track of the indices but I’m having no joy. Could you help with some few pointers?

    Cheers


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: