...
UI Expand | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
OpenLayers 2 is an open source, web browser-based mapping library written in JavaScript. OpenLayers maps can also be viewed on mobile devices since no plugins are required to use it. Requirements
Sample Clients
Usage (Geographic)The following code snippets provide information for creating a basic OpenLayers-based GIBS client for imagery in the Geographic (EPSG:4326) projection. See the info provided in the GIBS layer configuration information for details on configuring each layer. For this example, we will be using an imagery layer with a 250m resolution. First create a map object with a geographic (i.e., lat-lon) projection. Note that the numZoomLevels attribute has a value of 9, based on the table above.
Next, define service- and product-specific constants related to the map projection, resolution, and service endpoint (see here for more info):
Now create base and overlay layers for two products (more info on available products can be found here). No style value is required for GIBS image accesses. The isBaseLayer element should be set accordingly as to whether this is a base (true) or overlay (false) layer. All base layers have a format of image/jpeg and all overlay layers have a format of image/png. The maxResolution attribute has a value of 0.5625, based on the layer configuration information. The serverResolution element is a listing of resolutions that are provided by the GIBS server (more info here). The resolutions element is a listing of resolutions that should be provided to the end user (more info here). If additional resolutions are included in the resolutions element that are not in the serverResolutions element, then OpenLayers will perform client-side "overzooming."
Finally, add the layers to the map, add a layer switcher, and set the view extent:
Usage (Polar Stereographic)To use GIBS imagery in an Arctic Polar Stereographic (EPSG:3413) or Antarctic Polar Stereographic (EPSG:3031) projection, follow the same instructions as geographic but change the TileMatrixSets, number of zoom levels, and resolution parameters to match the polar projections as listed in the layer configuration info. Please also note that only a subset of layers are available in Arctic and Antarctic compared to geographic. Note that static variables are shown below for both the Arctic and Antarctic projections, but only Arctic layers are created.
|
...
UI Expand | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
The iOS client library is a native library written in Objective-C and can be incorporated into any iOS app for the iPod Touch, iPhone, and iPad. It is built upon ArcGIS's iOS client libraries, which provides a MapView and asynchronous tile loading, coupled with a custom TWMS data loader. The library comes with a sample client to display TWMS maps and includes basic manipulations such as presenting data from arbitrary TWMS server, selecting a time-value, and map layer reordering. Requirements
UsageTo use the library, create an AGSMapView object, either programmatically or linked from Interface Builder, and use the following code snippet as an example.
Screenshots
Additional DocumentationThe ArcGIS iOS documentation can be obtained here. The standard iOS documentation can be viewed here. The iOS library defines 3 classes that are used to load TWMS data: TWMSTiledWebMapService: Instantiated for each TWMS endpoint. TWMSTiledMap: Represents an individual map layer in the TWMS. TWMSTiledMapLayer: A subclass of ArcGIS's map layer to show TWMS data. TWMSTiledWebMapService Properties name: The name of the TWMS as defined in the GetTiledService request. title: The title of the TWMS as defined in the GetTiledService request. abstract: The abstract of the TWMS as defined in the GetTiledService request. tiledMaps: A dictionary where the keys are the name of each map layer and values are the TWMSTiledMap instances. Methods (id)initWithUrl:(NSURL*)url: Loads the TWMS data given by the url to instantiate this class. (NSArray*)listAllTiledMapsByName: Returns a sorted list of map layer names. (void)setTiledMapKeyValue:(NSString*)value forTiledMapKey:(NSString*)key: Assigns variable keys for all TiledMaps in the TWMS server. (NSDictionary*)tiledMapKeyValues: Returns a dictionary of all the keys used in all TiledMaps and the value its currently set to. TWMSTiledMap Properties name: The name of the layer as defined in the GetTiledService request. title: The title of the layer as defined in the GetTiledService request. uuid: A randomly generated unique ID for the layer. Code SnippetsCreate a new TWMSTiledWebMapService using a URL
List all map layers in a TWMS server
Update variables for all TWMS endpoints
Add, reorder, and remove map layers (Provided by ArcGIS's MapView class)
Set map layer transparency (Provided by iOS UIView's transparency settings)
|
...