maptiler-cloud

Crates.iomaptiler-cloud
lib.rsmaptiler-cloud
version0.3.0
sourcesrc
created_at2021-10-13 18:49:06.626606
updated_at2021-10-25 19:42:48.901086
descriptionA simple Rust wrapper library around the Maptiler Cloud API
homepage
repositoryhttps://github.com/newcomb-luke/maptiler-cloud
max_upload_size
id464610
size21,543
Luke Newcomb (newcomb-luke)

documentation

README

maptiler-cloud

Rust wrapper around the Maptiler Cloud API

Supports requesting all currently available tilesets

Tiles are requested using the Tiled Web Map format. X and Y coordinates are specified, and a zoom level is specified.

Example Usage

#[tokio::main]
async fn main() {
    // Create a new Maptiler Cloud session
    // Use your own API key from Maptiler Cloud
    let maptiler = maptiler_cloud::Maptiler::new("placeholder api key").unwrap();

    // Create a new tile request
    let x = 2;
    let y = 1;
    let zoom = 2;

    let tile_request = maptiler_cloud::TileRequest::new(
        maptiler_cloud::TileSet::Satellite,
        x,
        y,
        zoom
    ).unwrap();

    // Create the request using the Maptiler session
    let constructed = maptiler.create_request(tile_request);

    // Actually perform the request to get the data
    let satellite_jpg = constructed.execute().await.unwrap();

    // Check for JPEG file magic to make sure we got an image
    assert_eq!(&satellite_jpg[0..3], &[0xFF, 0xD8, 0xFF]);
}

From there, most users will write those bytes to a file, or load them into another function that will be able to display the image from the raw JPEG bytes.

Commit count: 8

cargo fmt