Table of Contents

ThinkGeo Cloud Maps Vector Tiles

ThinkGeo Cloud Maps Vector Tiles serve vector map tiles through XYZ. Check out ThinkGeo Cloud Vector Map Online Sample for a quick look.

RESTful APIs

* Try it Online: All the ThinkGeo Cloud RESTful APIs can be tested online following the instructions below:

ThinkGeo Cloud provides a RESTful API to consume the map tiles:

Get Maps Vector Tile By XYZ

Get the vector tile at the specified zoom level and X/Y coordinate, using the supplied parameters.

HTTP GET
https://cloud.thinkgeo.com/api/v1/maps/vector/{srid}/{tileZ}/{tileX}/{tileY}.pbf?apikey={key}

Here is an example of a vector tile request URL: https://cloud.thinkgeo.com/api/v1/maps/vector/streets/3857/0/0/0.pbf?apiKey=apiKey (a valid API key is required). Please check out Client Keys Guideline to find out how to get your own API key.

Why Vector Tiles?

Vector tiles allows for more efficient downloads and more rapid map updates than pre-rendered raster tiles. When changes are made to the OSM base layer, rather than waiting for an image tile to be redrawn, only the coordinates and drawing instructions for that particular building or road need to be updated. Depending on the URL syntax, vector tiles can return all of the OSM data, or just individual layers, or combinations of layers, including water, earth, land-use, roads, buildings and other points of interest.

Map Data Coverage

Map Suite Vector Tile Data sources from OpenStreetMap and Natural Earth are both open data sets. The data is updated twice a month on ThinkGeo servers keeping up with the latest data available. Generally speaking, Natural Earth is used at lower zoom levels, and OpenStreetMap is serving for higher zoom levels.

Our World Map data can be purchased separately. It can be consumed offline by Map Suite SDKs. Check out ThinkGeo Maps Streets Data for details.

Vector Tile Schema

The Vector Tile data is organized into different thematic layers, each of which has attributes and values, for example: roads, buildings, POIs, water etc. A selection of these layers are typically used for base map rendering with a map style specified in Map Suite StyleJSON Schema.

Definition of layers

Schema updates change log .

Consume from the Client

Multiple ways are provided to consume the server from different platforms.

From JavaScript Library

Load VectorMap-js from CDN in your project:

    <link rel="stylesheet" href="https://cdn.thinkgeo.com/vectormap-js/3.0.0/vectormap.css"></link>
    <script src="https://cdn.thinkgeo.com/vectormap-js/3.0.0/vectormap.js"></script>

In the <body> of your HTML page, add a div with “id=“map””

<div id="map" style="width:800px;height:600px;"></div>

Create the map object and load with the “DIV” created before.

    var worldstreetsStyle = "https://cdn.thinkgeo.com/worldstreets-styles/3.0.0/light.json";    
    var worldstreets = new ol.mapsuite.VectorTileLayer(worldstreetsStyle, 
        {
            apiKey:'your-ThinkGeo-Cloud-Service-key'
        });
    let map =  new ol.Map({
        layers: [worldstreets],
        target: 'map',
        renderer: 'webgl',
        view: new ol.View({
            center: [-10775718.490585351, 3868389.0226015863],
            zoom: 4,
            maxResolution: 40075016.68557849 / 512
        }),
    });

NOTE:

From Map Suite UI Controls

All of the MapSuite UI Controls have built-in a straightforward way for consuming the vector tiles from version 10.5.

Sample Code:

Coming soon

From Client Side SDKs

Our .NET SDK ThinkGeo Cloud Client makes it easy to consume all of the ThinkGeo Cloud services in your applications. It's available on NuGet. IntelliSense hints will help you get started, and you can also refer to the ThinkGeo Cloud Client API list for details.

At the NuGet Package Manager terminal, you can install this package by running the command: Install-Package ThinkGeo.Cloud.Client -Version VERSION_TO_BE_INSTALLED. You can also check out ThinkGeo on GitHub for samples utilizing the ThinkGeo Cloud Client.

Sample Code:

using ThinkGeo.Cloud;
 
MapsClient client = new MapsClient("Your Client ID", "Your Client Secret");
Stream imageStream = client.GetRasterTile(z, x, y, projection);

The API is for downloading the vector tiles. Additional coding is needed to parse or render it.

Native SDKs for Python, iOS and Android are coming soon.

Samples

Online Sample:

Desktop Sample:

Coming soon

Mobile Sample:

Coming soon

Web Sample:

Coming soon