[OpenLayers] XYZタイルのインデックスレイヤ
XYZタイルが正しく作成できているか確認するのに便利な、タイルのインデックスを表示するサービスを作ってみました。 単純に、受け渡されたXYZを表示する256×256ドットの画像を作って返すだけというものです。 OpenLayers では、下記のようにタイルレイヤを追加してください。
var ixlayer = new OpenLayers.Layer.XYZ(
'インデックスレイヤー',
'http://landhere.info/services/tile/iximg.php?x=${x}&y=${y}&z=${z}'
);
map.addLayer(ixlayer);
ソースコードも掲載しておきますので、ご利用ください。 描画用フォントが必要なので、適当なものを用意して、$font にパスを入れて下さい。 半透明にしたい場合は、PHP でも、OpenLayers でもお好きな方で対応してください。
<?php
$z = $_REQUEST['z'];
$x = $_REQUEST['x'];
$y = $_REQUEST['y'];
$png = imagecreatetruecolor(256,256);
$white = imagecolorallocate($png, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($png, 0x00, 0x00, 0x00);
$font = 'yourfont.ttf';
$text = "z={$z},x={$x},y={$y}";
$ix = 10;
$iy = 20;
imagefttext($png,10,0,$ix,$iy,$white,$font,$text);
imagerectangle($png,0,0,255,255,$white);
header('Content-type: image/png');
imagepng($png);
?>
0 件のコメント