Preordernotification: Can attach Borderpoint image from Mapbox API now
This commit is contained in:
50
lib/Mapbox/StaticImageApi.php
Normal file
50
lib/Mapbox/StaticImageApi.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
class Mapbox_StaticImageApi {
|
||||
|
||||
public static function getImageFileContent(Array $params) : ?string {
|
||||
$access_token = $params["access_token"];
|
||||
$gps_lat = $params["gps_lat"];
|
||||
$gps_long = $params["gps_long"];
|
||||
$zoom = $params["zoom"];
|
||||
$size_x = $params["size_x"];
|
||||
$size_y = $params["size_y"];
|
||||
$style = $params["style"];
|
||||
$pin = $params["pin"];
|
||||
|
||||
$pin_part = "";
|
||||
|
||||
// https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v12/static/pin-l-embassy+ee9900(15.4200370610,46.9599897293)/15.4200370610,46.9599897293,19/640x640?access_token=pk.eyJ1Ijoic2tuZXR3b3J4IiwiYSI6ImNqdWw3eXoyMzBieWU0M284OTU2eWNxMTMifQ.GrgBYKMXVt3TiwU53OBllQ
|
||||
$url = "https://api.mapbox.com/styles/v1/mapbox/$style/static";
|
||||
if(is_array($pin) && $pin["gps_lat"] && $pin["gps_long"] && $pin["size"]) {
|
||||
$pin_gps_lat = $pin["gps_lat"];
|
||||
$pin_gps_long = $pin["gps_long"];
|
||||
$pin_size = $pin["size"];
|
||||
$pin_color = $pin["color"];
|
||||
$pin_icon = $pin["icon"];
|
||||
|
||||
$pin_part .= "/pin-$pin_size";
|
||||
if($pin_icon) $pin_part .= "-$pin_icon";
|
||||
$pin_part .= "+$pin_color($pin_gps_long,$pin_gps_lat)";
|
||||
}
|
||||
|
||||
$url .= "$pin_part/$gps_long,$gps_lat,$zoom/{$size_x}x{$size_y}?access_token=$access_token";
|
||||
|
||||
$ctx_opts = [
|
||||
'http' => [
|
||||
'method' => 'GET',
|
||||
'header' => 'accept: application/json'
|
||||
]
|
||||
];
|
||||
|
||||
$ctx = stream_context_create($ctx_opts);
|
||||
$response = file_get_contents($url, false, $ctx);
|
||||
|
||||
if($response === false) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $response;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user