mirror of
https://github.com/klokantech/tileserver-php.git
synced 2025-08-09 16:16:49 +02:00
Utfgrid empty response bug fixed (related #62)
This commit is contained in:
@@ -406,20 +406,22 @@ class Server {
|
||||
}
|
||||
try {
|
||||
$this->DBconnect($tileset . '.mbtiles');
|
||||
$result = $this->db->query('SELECT grid FROM grids WHERE tile_column = ' . $x . ' AND tile_row = ' . $y . ' AND zoom_level = ' . $z);
|
||||
if (!isset($result) || $result === FALSE) {
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
echo '{}';
|
||||
die;
|
||||
} else {
|
||||
$data = $result->fetchColumn();
|
||||
|
||||
$grid = gzuncompress($data);
|
||||
$query = 'SELECT grid FROM grids WHERE tile_column = ' . $x . ' AND '
|
||||
. 'tile_row = ' . $y . ' AND zoom_level = ' . $z;
|
||||
$result = $this->db->query($query);
|
||||
$data = $result->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($data !== FALSE) {
|
||||
$grid = gzuncompress($data['grid']);
|
||||
$grid = substr(trim($grid), 0, -1);
|
||||
|
||||
//adds legend (data) to output
|
||||
$grid .= ',"data":{';
|
||||
$result = $this->db->query('SELECT key_name as key, key_json as json FROM grid_data WHERE zoom_level=' . $z . ' and tile_column=' . $x . ' and tile_row=' . $y);
|
||||
$kquery = 'SELECT key_name as key, key_json as json FROM grid_data '
|
||||
. 'WHERE zoom_level=' . $z . ' and '
|
||||
. 'tile_column=' . $x . ' and tile_row=' . $y;
|
||||
$result = $this->db->query($kquery);
|
||||
while ($r = $result->fetch(PDO::FETCH_ASSOC)) {
|
||||
$grid .= '"' . $r['key'] . '":' . $r['json'] . ',';
|
||||
}
|
||||
@@ -427,14 +429,18 @@ class Server {
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
if (isset($_GET['callback']) && !empty($_GET['callback'])) {
|
||||
header("Content-Type:text/javascript charset=utf-8");
|
||||
header('Content-Type:text/javascript charset=utf-8');
|
||||
echo $_GET['callback'] . '(' . $grid . ');';
|
||||
} else {
|
||||
header("Content-Type:text/javascript; charset=utf-8");
|
||||
header('Content-Type:text/javascript; charset=utf-8');
|
||||
echo $grid;
|
||||
}
|
||||
} else {
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
echo '{}';
|
||||
die;
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
} catch (Exception $e) {
|
||||
header('Content-type: text/plain');
|
||||
print 'Error querying the database: ' . $e->getMessage();
|
||||
}
|
||||
|
Reference in New Issue
Block a user