AnsweredAssumed Answered

Design and implementation questions iOS SDK 10.1.1

Question asked by rdeavers on Feb 21, 2013
Latest reply on Mar 1, 2013 by rdeavers
Greeting,

Being new to the ARCGis platform and iOS SDK I'd like to ask a few questions regarding design and implementation such that the resource footprint will be as small as possible.  For my questions I'd like to keep the program simple.  i.e. A program that displays graphics and feature data from our server.  No editing.

I work for a local government. 
We have some layers with little data (to show at city level) and some that are data intensive (to show at some predefined min max scale).

We have a REST MapService setup that contains a few feature layers that basically look like this...

MobileBase (MapServer)/
  Feature Layer 0 (District boundaries - light data)
  Feature Layer 1
  Feature Layer 2 (Parcel layer - heavy data)
  Feature Layer 3 (City Boundary layer - the extent to which all other layers are contained)
  Feature Layer 4
  Feature Layer 5 

I've experimented with two ways to get the graphics and features for the layers.
Method 1.
               Create a DynamicMapServiceLayer using a single URL
               Create a dynamic layer object
               Set dynamic visibleLayers property to show the graphics for each Feature layer
               Add dynamic layer to mapview

This method seems to respect the max and min scales defined for the layer.  E.g. the parcel graphic's aren't drawn until we've zoomed down, which is great. 

Questions:           Using this method, how do I access each Feature layers graphics and feature attributes so that I can manipulate them before they are drawn?  I.e. change line color in graphics and text size/color.
                              What object and at what point is calling the server for the parcel layer once we zoom into range?  What event???s would be useful to help understand this?
                              Is this the best approach to use for displaying information only in terms of resource use? (No editing)

Method 2.
               Create a graphic layer object, graphic object, Query Task object, Query object for each Feature Layer.
               Add each graphic object to mapview at viewload time.

Questions:           Is there any benefit to doing it this way versus method 1 for display purposes?
                              If doing it this way, should I use the query and events to only get data within the basemap extent and the layers max min scales?
                             Which events are appropriate for these queries?

I can figure out the "how to" implement details.  I'm looking for some guidance on "which" objects give me what and at what time.
Thanks in advance for any input on this.

Outcomes