summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Parecki <aaron@parecki.com>2022-06-04 13:23:28 -0700
committerAaron Parecki <aaron@parecki.com>2022-06-04 13:23:28 -0700
commitb3b3dc41bce85850bf60347bdaec954390b674df (patch)
treeb0ba566467ece4ccb087f99e545e4799c816a079
parent30f62de1816439ba5920abfbede0721d568b8962 (diff)
switch to local rendering of static map
-rw-r--r--controllers/controllers.php24
-rw-r--r--lib/config.template.php2
-rw-r--r--lib/helpers.php9
3 files changed, 34 insertions, 1 deletions
diff --git a/controllers/controllers.php b/controllers/controllers.php
index 0917315..82dfaca 100644
--- a/controllers/controllers.php
+++ b/controllers/controllers.php
@@ -898,3 +898,27 @@ $app->get('/airport-info', function() use($app){
$app->response()->body(json_encode($response));
}
});
+
+$app->get('/map-img', function() use($app) {
+
+ $params = $app->request()->params();
+
+ $app->response()['Content-type'] = 'image/png';
+
+ $params = [
+ 'marker[]' => 'lat:'.$params['lat'].';lng:'.$params['lng'].';icon:small-blue-cutout',
+ 'basemap' => 'custom',
+ 'width' => $params['w'],
+ 'height' => $params['h'],
+ 'zoom' => $params['z'],
+ 'tileurl' => Config::$mapTileURL,
+ 'token' => Config::$atlasToken,
+ ];
+
+ $ch = curl_init('https://atlas.p3k.io/map/img');
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
+ curl_exec($ch);
+
+});
+
diff --git a/lib/config.template.php b/lib/config.template.php
index 4d168b2..0aea57c 100644
--- a/lib/config.template.php
+++ b/lib/config.template.php
@@ -20,6 +20,8 @@ class Config {
public static $twitterClientID = '';
public static $twitterClientSecret = '';
+ public static $mapTileURL = '';
+
// https://developers.google.com/maps/documentation/javascript/get-api-key
public static $googleMapsAPIKey = '';
}
diff --git a/lib/helpers.php b/lib/helpers.php
index ec23afa..5408906 100644
--- a/lib/helpers.php
+++ b/lib/helpers.php
@@ -370,7 +370,14 @@ function get_micropub_source(&$user, $url, $properties) {
}
function static_map($latitude, $longitude, $height=180, $width=700, $zoom=14) {
- return 'https://atlas.p3k.io/map/img?marker[]=lat:' . $latitude . ';lng:' . $longitude . ';icon:small-blue-cutout&basemap=gray&width=' . $width . '&height=' . $height . '&zoom=' . $zoom;
+ $params = [
+ 'lat' => $latitude,
+ 'lng' => $longitude,
+ 'h' => $height,
+ 'w' => $width,
+ 'z' => $zoom,
+ ];
+ return '/map-img?'.http_build_query($params);
}
function relative_time($date) {