如果没有安装 imagecreatefromstring -- 从字符串中的图像流新建一图像 不能使用。
相关的函数可以实现从网络上取图片,并保存到本地。
先查看C:\ms4w\Apache\php\ext目录中自带动态链接库:php_gd.dll 。
只要在C:\ms4w\Apache\cgi-bin\php.ini 中把 ;extension=php_gd.dll 前面的;去掉,然后重起WEBSERVER(IIS或APACHE)
可以通过 var_dump(gd_info()); 查看
以下代码,可根据经纬度获取googel的地图切片。
注意“ header('Content-Type: image/png');”之前不能有任何输出,否则会“
Cannot modify header information - headers already sent by ...”
<?php
$x = 104.05737;
$y = 30.686;
$level = 16;
include_once '../../logic/XUtil.php';
$pixs = XGetLocationByLonLat::getGooglePixs($x,$y,$level);
$url="http://mt3.google.cn/vt/lyrs=m@132&hl=zh-CN&gl=cn&x=".$pixs["x"]."&s=&y=".$pixs["y"]."&z=".$level."&s=";
//echo $url;
$json = file_get_contents($url);
$im = imagecreatefromstring($json);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
else {
echo 'An error occured.';
}
/*
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
else {
echo 'An error occurred.';
}
*/
?>