Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My organization is working on an ArcEngine application that displays a GPS cursor for the user's current position. We are using custom-made GPS code since ESRI's is buggy in ArcGIS 10. Whenever the GPS cursor's position changes, the entire graphics layer redraws rather than just the cursor. This results in a map whose labels are constantly flashing as the cursor moves. We are pretty sure that the problem is caused by having the GPS cursor displaying on the same graphics layer as the labels and any other graphics, but we haven't had any luck finding a way to use multiple graphics layers.

Is there a way to have multiple graphics layers in ArcEngine 10?

share|improve this question
Can you post the part of the code where you refresh the graphics? – Jakub Mar 22 '12 at 18:28
Any chance you would be willing to share info on how to access a devices GPS infor for ArcEngine? I'm trying to build an app for a trimble and need to get coordinates from the device's GPS. – rgwozdz Sep 5 '12 at 20:22

I don't think the problem is that you don't have two (or more) graphics layers. The problem is the label engine. Labels are drawn after graphics are drawn in order to optimise placement.

In order for your marker to move, you must update the display. When you update the display, the map redraws itself from the bottom layer up to the top layer, then it places the labels. To minimise flickering you could refresh only a part of the display using IActiveView.PartialRefresh. To move the marker you must update the old location and the new location. This leaves the rest of the screen untouched. As a side effect you could end up with partial labels, double labels and missing labels around the areas you update. It might speed things up to only refresh the graphics phase, but it seems like graphics and labels are in the same phase.

If that's still not good enough, try the graphics tracker:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.