1.0 Tile

Frozen Version

This reference documents version 1.1 (a frozen version) of the MapData Services Tile API. This release version of the API is a stable version of the API whose interfaces are "frozen" and guaranteed to remain as documented within these pages until this version is retired.

What is The Tile API?

The Tile API is a service that serves raster data in small pieces known as “tiles”. You will need to use a mapping API, such as the following, in order to combine the tiles to get a more complete view of the raster data.

MDS Tile API provides Tiles in the Mercator projection for 18 levels/Scales based on the Bing Maps Tile System standard. http://msdn.microsoft.com/en-us/library/bb259689.aspx

Security

This service supports API Key Authentication.

Request

Each request to the Service must be a URI in the following format:

    http(s)://t{subdomain}.nowwhere.com.au/{tileset}/{zoom}/{x}/{y}
Parameter Type Description
subdomain Integer subdomains: 1-4
Tileset Integer Tile Set type
zoom Integer Zoom level of map.
x String X-Cordinate of tile within the map.
y String Y-Cordinate of tile within the map.

Response

The responses from the service are in the Portable Network Graphics (PNG) format.

Tile Sets

A Tile Set is a Raster Visualisation of a Data Set. The following Tile Sets are available via the Tile Service.

MDS Foundation Map

The MDS Foundation Map Tile Set is a Colour Base Map for Australia and New Zealand

MDS Foundation Map GreyScale

The MDS Foundation Map Grey Scale Tile Set is a Grey Scale Base Map for Australia and New Zealand

Examples

Open Layers Example

  
<!DOCTYPE html>
<html dir="ltr" lang="en-AU">
    <head>
        <meta charset="UTF-8" />
        <title>Simple Example of MDSFoundationMap with OpenLayers</title>
        <script type="text/javascript" src="/Portals/2/OpenLayers.js"></script>
        <link rel="stylesheet" href="./css/layout.css" type="text/css" />
        <script type="text/javascript">
            function init() {
                var map, layer, centre;
           
                var MapDS = {
                    ApiKey: 'YOUR_API_KEY_HERE'
                };
           
                OpenLayers.Util.onImageLoadError = function() { this.style.display="none"; }
                map = new OpenLayers.Map( 'map', {
                        controls: [
                            new OpenLayers.Control.PanZoomBar(),
                            new OpenLayers.Control.ScaleLine(),
                            new OpenLayers.Control.Navigation(),
                            new OpenLayers.Control.Attribution()
                        ]
                    }
                );
           
                layer = new OpenLayers.Layer.XYZ( "MDSFoundationMap", [
                        'http://t1.nowwhere.com.au/1/${z}/${x}/${y}?key='+MapDS.ApiKey,
                        'http://t2.nowwhere.com.au/1/${z}/${x}/${y}?key='+MapDS.ApiKey,
                        'http://t3.nowwhere.com.au/1/${z}/${x}/${y}?key='+MapDS.ApiKey,
                        'http://t4.nowwhere.com.au/1/${z}/${x}/${y}?key='+MapDS.ApiKey
                    ], {
                        transitionEffect: "resize",
                        buffer:0,
                        sphericalMercator: true,
                        projection: new OpenLayers.Projection ("EPSG:3857"),
                        attribution: "<a href=\"http://www.mapds.com\"><img src=\"http://apps.nowwhere.com.au/MDSQuickMap/img/MDSLogo.png\"></a> <a href=\"http://www.nowwhere.com.au/lic/NowWhereLic.htm\">© 1998 - 2019</a>"
                    }
                );
           
                map.addLayer(layer);
           
                // set transformation functions from/to alias projection
                OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.SphericalMercator.projectForward);
                OpenLayers.Projection.addTransform("EPSG:3857", "EPSG:4326", OpenLayers.Layer.SphericalMercator.projectInverse);
                centre = new OpenLayers.LonLat( 151, -33 );
                map.setCenter( centre.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()), 5 );
            }
        </script>
    </head>

    <body onload="init()">
        <div id="map"></div>
    </body>
</html>

Leaflet Example

  
<!DOCTYPE html>

<html dir="ltr" lang="en-AU">

    <head>

     <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
    <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>

        <script type="text/javascript">

             function init() {              
    var MapDS = {
                    ApiKey: 'YOUR_API_KEY_HERE'

                };

                // create a CloudMade tile layer
                var cloudmadeUrl = 'https://t{s}.nowwhere.com.au/1/{z}/{x}/{y}?key='+MapDS.ApiKey,

		        cloudmadeAttribution = '<a href="http://www.mapdataservices.com" target="_blank" >Map data © 2019 MapData Services</a>',
		        cloudmade = new L.TileLayer(cloudmadeUrl, { maxZoom: 18, attribution: cloudmadeAttribution, subdomains: '1234' });


                // initialize the map on the "map" div
                map = new L.Map('map');
                map.addLayer(cloudmade).setView(new L.LatLng(-33.825, 151.192), 3);

            }

          </script>
              <style>
        #map {
            height: 300px;
            width: 300px;
        }
    </style>
    </head>


    <body onload="init()">

        <div id="map"></div>

    </body>

</html>