Maps are a very important part GIS Kit/Pro. Garafa's proprietary map engine is the result of years of work as one of the leaders in the GPS apps in the App Store. Through ongoing optimization it has become what we believe is the fastest custom map engine available on the iOS platform.
All maps in GIS Kit/Pro use a mercator projection due to its popularity and some of its computing advantages. This limits the data to being roughly between ±85° in latitude. It also exaggerates the size of the geography the further you are from the equator. To verify this, watch the map scale change as you pan the map in the vertical direction--it changes!
Typical iOS map gestures are supported, namely:
- Pinch to zoom in/out
- Drag finger to pan
- Double-tap to zoom in
- Two-finger tap to zoom out
The Map settings screen gives you control of how the map will be displayed and is one of the few settings that are ubiquitous across all the areas of the app. The primary function is to manage which map types are available and the other is simply whether or not to display the names of point features on the map.
The edit button in the top right will enable you to completely remove base map types. As with many row-based dialogs you can also use a swipe gesture on a row to display a "Delete" button for just that row.
The list of base map types is customizable and this list is what shows up on the map type selector in the map. To edit the settings of a particular map type, tap on the cell and that map type's details will be shown. To add a new source use the "Add New Map Type" button at the bottom of the list. There are currently two supported map types, raw URL and WMS, and the edit dialog will be slightly different for each.
Currently there is a bug that makes it so the WMS settings dialog cannot be dismissed when editing an existing WMS-based map type. This has already been fixed for the next release but for now you can switch to the map and select or create something and it will be dismissed automatically.
Raw URL Base Maps
Raw URL base maps are settings for tile sources that serve up tiles in a Google or Bing style scheme. There is an excellent reference here
for more information about how these work. GIS Kit/Pro's requires that these tiles be 256x256, and are a WGS84 mercator projection (aka EPSG:4326).
The URL serves as a template for the map engine to use when trying to retrieve tiles. It uses a simple find/replace based on the following keys:
- #X# - the x index of the tile (based on zoom level)
- #Y# - the y index of the tile (based on zoom level)
- #Z# - the zoom level
- #abc# - will randomly choose between "a", "b", and "c". (For load distribution)
- #BBOX# - replaced with the bounding box of the requested tile i.e. "minlng,minlat,maxlng,maxlat"
- #Q# - tile quadkey
- #NUM# - tileX%4+(tileY%4)*4
The offline switch indicates whether or not tiles from this source should be allowed to be downloaded in batch and stored for offline use.
WMS Base Maps (Pro version only)
GIS Kit/Pro support a "Basic WMS" on a limited basis, based on the specification from the Open Geospatial Consortium, OpenGIS® Web Map Server Implementation Specification version 1.3.0. Layer querying is not supported as the WMS functionality used is only for providing base maps.
To add a WMS, start by entering the base URL of your WMS. When you are done entering the URL it will automatically attempt to connect with the WMS and retrieve the title and layer information. If this is successful you will see a list of layers your WMS provides. You must select at least one to continue. You may also notice that selecting a parent layer will autoselect all layers below it. You can add the same WMS multiple times with different layers selected to be able to rapidly change between them without having to re-enter the setup process.
TIP: To avoid entering long URL's by hand GIS Pro supports shortcutting the process using a URL scheme. If you open a URL on your iOS device that begins with wms:// instead of http:// it will automatically jump to the part of the process where it looks up the WMS capabilities and layers.
On a final note, there are several reasons why the WMS may not work on first attempt. For example, most WMS servers only have information for a specific area and only a few zoom levels. WMS is one of the newest features and has not been extensively used. So please feel free to contact us and we will help to get it working.