Mapbox API for Laravel 5+
, (*1)
A Laravel 5+ Package for managing Mapbox Datasets and Tilesets, (*2)
This library supports the listing, creation, and deletion of the following types via the Mapbox API:, (*3)
- Datasets
- Tilesets
- Uploads
Installation
Install Via Composer:, (*4)
composer require bluevertex/mapbox-api-laravel
Laravel 5.5+, (*5)
The service provider should be automatically registered., (*6)
Laravel ≤ 5.4:, (*7)
// Laravel: config/app.php
BlueVertex\MapBoxAPILaravel\MapBoxAPILaravelServiceProvider::class
// Facade Alias
'Mapbox' => BlueVertex\MapBoxAPILaravel\Facades\Mapbox::class,
Lumen:, (*8)
// bootstrap/app.php:
$app->register(BlueVertex\MapBoxAPILaravel\MapBoxAPILaravelServiceProvider::class);
$app->withFacades(true, [
'BlueVertex\MapBoxAPILaravel\Facades\Mapbox' => 'Mapbox'
]);
Configuration
Add the following to your .env
file:, (*9)
MAPBOX_ACCESS_TOKEN=[Your Mapbox Access Token]
MAPBOX_USERNAME=[Your Mapbox Username]
Note: Make sure your Access Token has the proper scope for all the operations you need to perform., (*10)
Usage
Datasets
List Datasets:, (*11)
$list = Mapbox::datasets()->list();
Create Dataset:, (*12)
$dataset = Mapbox::datasets()->create([
'name' => 'My Dataset',
'description' => 'This is my dataset'
]);
Retrieve Dataset:, (*13)
$dataset = Mapbox::datasets($datasetID)->get();
Update Dataset:, (*14)
$dataset = Mapbox::datasets($datasetID)->update([
'name' => 'My Dataset Updated',
'description' => 'This is my latest dataset'
]);
Delete Dataset:, (*15)
$response = Mapbox::datasets($datasetID)->delete();
List Feature:, (*16)
$response = Mapbox::datasets($datasetID)->features()->list();
Insert or Update Feature:, (*17)
$response = Mapbox::datasets($datasetID)->features()->add($feature);
Retrieve Feature:, (*18)
$response = Mapbox::datasets($datasetID)->features($featureID)->get();
Delete Feature:, (*19)
$response = Mapbox::datasets($datasetID)->features($featureID)->delete();
Tilesets
List Tilesets:, (*20)
// Options array is optional
$list = Mapbox::tilesets()->list([
'type' => 'raster',
'visibility' => 'public',
'sortby' => 'modified',
'limit' => 500
]);
Uploads
Get S3 Credentials:, (*21)
// Returns S3Credentials Object
$response = Mapbox::uploads()->credentials();
Create Upload:, (*22)
$response = Mapbox::uploads()->create([
'tileset' => '{username}.mytilesetid',
'url' => 'mapbox://datasets/{username}/{dataset}', // Or S3 Bucket URL from S3Credentials Object
'name' => 'Upload Name'
]);
Retrieve Upload Status:, (*23)
$response = Mapbox::uploads($uploadID)->get();
List Upload Statuses:, (*24)
$list = Mapbox::uploads()->list();
Delete Upload:, (*25)
$response = Mapbox::uploads($uploadID)->delete();