我有一个包含一些地址的数据库。对于每个地址,地图视图将不同。
对于每个地址,有没有办法将地图视图保存为图像?
答案 0 :(得分:2)
<img src='http://maps.googleapis.com/maps/api/staticmap?center=<?php echo
$MyAddress?>CA&zoom=14&size=500x500&markers=<?php echo $myAddress?>&sensor=false' alt=''/>
中心是地图居中的地方。 标记是你想要的地址所以我把中心=标记。 缩放是您想要放大地图的距离 调整图片大小。 看看这里 http://code.google.com/intl/el-GR/apis/maps/documentation/staticmaps/
答案 1 :(得分:0)
在这种情况下,您可以使用here中的Google Static Maps API。
出于存储和带宽的目的,您只能存储位置的GeoPoint,并且只在用户请求时呈现图像。
答案 2 :(得分:0)
public static function getGoogleMapImage($params = array(), $saveTo = null, $https = true){
//set default parameters
if(!isset($params['markers'])){
$params['center'] = isset($params['center']) ? $params['center'] : 0;
$params['zoom'] = isset($params['zoom']) ? $params['zoom'] : 0;
}
$params['size'] = isset($params['size']) ? $params['size'] : '200x200';
$params['sensor'] = isset($params['sensor']) ? $params['sensor'] : 'false';
foreach($params as $name => $value){
$paramString.=$name . '=' . urlencode($value) . '&';
}
$paramString = trim($paramString, '&');
$httpPrefix = $https ? 'https://' : 'http://';
$imageUrl = $httpPrefix . 'maps.googleapis.com/maps/api/staticmap?' . $paramString;
if(!$saveTo){ //if you don't want to save image, just to display it
return $imageUrl;
}
if(isset($params['format'])){
switch($params['format']){
case 'png8': $imgExt = '.png'; break;
case 'gif': $imgExt = '.gif'; break;
case 'jpg': $imgExt = '.jpg'; break;
case 'jpg-baseline': $imgExt = '.jpg'; break;
default: $imgExt = '.png';
}
}else{
$imgExt = '.png';
}
$saveTo = preg_replace("/\\.[^.\\s]{3,4}$/", "", $saveTo) . $imgExt; //in case requested file extension and provided in $saveTo don't match
if(self::getImage($imageUrl, $saveTo)){
return realpath($saveTo);
}
return false;
}
我使用curl调用从创建的$ imageUrl
获取图像