<\/HEAD>
Manchmal sieht man diesen großartigen Tile-Layer in einer Webkarte und möchte ihn in seinem ArcGIS Online-Projekt oder ArcGIS Pro verwenden. So ging es mir, als ich diese schöne kleine BVG basemap<\/A> sah. Die Verwendung dieser etwas verdrehten Basemap war etwas knifflig, da die Logik für Latitude-Longitude zu Kachelnummern etwas verdreht war. In Produkten wie ArcGIS Online\/ ArcGIS Enterprise gibt es keine Möglichkeit, diese Logik zu ändern. Wenn Sie also einen solchen Tile-Layer in AGOL verwenden möchten, müssen Sie an anderer Stelle eingreifen.<\/P>
Wenn Sie mehrere Server mit demselben Skript verwalten möchten, können Sie einen vierten Parameter hinzufügen, der den Tileserver behandelt und einige Switches hinzufügt:<\p>
<?php
header('Content-Type: image/png');
$tileservice = null; #
if (isset($_GET['t'])) {
$tileservice = $_GET['t'];
}
if (!$tileservice) {
$tileservice = 'bvg'; #wenn kein Tileserver-Parameter übergeben wurde
}
$y = $_GET['y'];
$x = $_GET['x'];
$z = $_GET['z'];
$server = array(< class="punctuation token">)<\/SPAN>;<\/SPAN>
switch ($tileservice){
case 'cat':
$url = 'https://placekitten.com/256/256?image=';
$ynew = rand(1,16);
$url .= $ynew;
#echo $url;
break;
case 'bvg':
default:
$ynew =( -1*intval($y))+pow(2,intval($z))-1;
$Url = 'https: //fahrinfo.bvg.de/tiles/base/'.$z.'/' .$x.'/' .$ynew.'.png';
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;Break ; </ Span >
} </ Span > ; </ Span >& Nbsp ; & Nbsp ; & Nbsp ;
$Ch </ Span > = </ Span > Curl_Init </ Span > ( </ Span > ; </ Span >
Curl_Setopt </ Span > ( </ Span > $Ch </ Span > , CURLOPT_SSL_VERIFYPEER </ Span > , False </ Span > ; </ Span >
Curl_Setopt </ Span > ( </ Span > $Ch </ Span > , CURLOPT_FRESH_CONNECT </ Span > , TRUE </ Span > ; </ Span >
Curl_Setopt </ Span > ( </ Span > $Ch </ Span > ,CURLOPT_URL </ Span > ,$Url </ Span > ; </ Span >
Curl_Setopt </ Span > ( </ Span > $Ch </ Span > ,CURLOPT_RETURNTRANSFER </ Span > ,1 </ Span > ; </ Span >
Curl_Setopt </ Span > ( </ Span > $Ch </ Span > , CURLOPT_USERAGENT </ Span > , class="punctuation token">['y'];
$x = $_GET['x'];
$z = $_GET['z'];
$server = array();
switch ($tileservice){
case 'cat':
#$server[] = 'https://placekitten.com/256/256';
$url = 'https://placekitten.com/256/256?image=';
$ynew = rand(1,16);
$url .= $ynew;
#echo $url;
break;
case 'bvg':
default:
$ynew =( -1 * intval($y) ) + pow(2, intval($z) ) - 1;
$url = 'https://fahrinfo.bvg.de/tiles/base/'.$z.'/'.$x.'/'.$ynew.'.png';
break;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
$data = curl_exec($ch);
if (curl_getinfo( $ch, CURLINFO_HTTP_CODE ) != 200) {
curl_close($ch);
$server = array();
$server[] = 'http://a.tiles.wmflabs.org/bw-mapnik/';
$server[] = 'http://b.tiles.wmflabs.org/bw-mapnik/';
$server[] = 'http://c.tiles.wmflabs.org/bw-mapnik/';
$url = $server[array_rand($server)];
$url .= $z."/".$x."/".$y.".png";
#echo $url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
$data = curl_exec($ch);
}
curl_close($ch);
echo $data;
><<EMOJI_0><Span Class="line-numbers-rows"><Span><<EMOJI_1></Span><Span><<EMOJI_2></Span><Span><<EMOJI_3></Span><Span><<EMOJI_4></Span><Span><<EMOJI_5></Span><Span><<EMOJI_6></Span><Span><<EMOJI_7></Span><Span><<EMOJI_8></Span><Span><<EMOJI_9></Span><Span><<EMOJI_10></Span><Span><<EMOJI_11></Span><Span><<EMOJI_12></Span><Span><<EMOJI_13></Span><Span><<EMOJI_14></Span><Span><<EMOJI_15></Span><Span><<EMOJI_16></Span><Span><<EMOJI_17></Span>
<Span><<<<<<<<<<<
Die Karte zeigt jetzt beide Kacheln:

Wenn Sie eine "lästige Anmerkung" hinzufügen möchten, können Sie auch ein schönes Wasserzeichen auf diesen slippy-Kacheln hinzufügen:
<?php