add tile api
This commit is contained in:
29
inc/spot.php
29
inc/spot.php
@@ -28,6 +28,7 @@ class Spot extends Main
|
||||
public function __construct($oClassManagement, $sProcessPage)
|
||||
{
|
||||
parent::__construct($oClassManagement, $sProcessPage);
|
||||
$oClassManagement->incClass('cacher', true);
|
||||
}
|
||||
|
||||
protected function install()
|
||||
@@ -332,6 +333,34 @@ class Spot extends Main
|
||||
return $oUploader->getBody();
|
||||
}
|
||||
|
||||
public function getTile($sMapId, $iX, $iY, $iZ)
|
||||
{
|
||||
if(isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == $this->asContext['serv_name']) {
|
||||
$asDomains = array();
|
||||
switch($sMapId) {
|
||||
case 'mapbox.satellite':
|
||||
case 'mapbox.streets':
|
||||
$sPattern = 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}@2x.png?access_token={token}';
|
||||
$sToken = Settings::MAPBOX_KEY;
|
||||
break;
|
||||
case 'linz':
|
||||
$sPattern = 'http://tiles-{s}.data-cdn.linz.govt.nz/services;key={token}/tiles/v4/layer=50767/EPSG:3857/{z}/{x}/{y}.png';
|
||||
$sToken = Settings::LINZ_KEY;
|
||||
$asDomains = array('a', 'b', 'c', 'd');
|
||||
break;
|
||||
}
|
||||
$oCacher = new Cacher($sPattern, $sMapId);
|
||||
$oCacher->setToken($sToken);
|
||||
$oCacher->setDomains($asDomains);
|
||||
|
||||
return $oCacher->pushTile($iX, $iY, $iZ);
|
||||
}
|
||||
else {
|
||||
header('HTTP/1.1 403 Forbidden');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
public static function getPicInfo($sPicPath)
|
||||
{
|
||||
$iPicTimeStamp = $iPicTakenTimeStamp = $iPicFileTimeStamp = 0;
|
||||
|
||||
Reference in New Issue
Block a user