2012-02-20 50 views
8

是否可以將google地圖圖片API作爲圖片保存到我的服務器上?如何將Google圖片地圖API圖片保存到我的服務器

背景:谷歌地圖圖像API正在生成所需位置的圖像。每次我要求外部URL。我可以將地圖圖像保存爲我的服務器上的圖像(png,gif)嗎?這將提高我的網頁速度。我試着用捲曲,但未能複製圖像

請求的URL http://maps.googleapis.com/maps/api/staticmap?center=15719+OAKLEAF+RUN+DRIVE%2CLITHIA%2CFL%2C33547%2CUS&zoom=8&size=150x100&markers=color:blue|label:S|11211&sensor=false

+0

請務必閱讀服務條款,爲你描述可能會侵犯他們。 – 2012-02-20 18:06:56

+0

@Mano Marks是的。我們可以請求每個用戶最多1000條查詢 – 2012-02-21 08:33:56

+1

我更關心您將它們保存到您的服務器 – 2012-02-21 16:14:37

回答

9

你可以嘗試這樣的事:

<?php 
$image = file_get_contents('http://maps.googleapis.com/maps/api/staticmap?center=15719%20OAKLEAF%20RUN%20DRIVE,LITHIA,FL,33547,US&zoom=8&size=150x100&markers=color%3ablue%7Clabel%3aS%7C11211&sensor=false'); 
$fp = fopen('ae.png', 'w+'); 

fputs($fp, $image); 
fclose($fp); 
unset($image); 
?> 
+0

此答案對當前API仍然有效嗎?我正在嘗試對來自Staticmaps API的圖像進行base64編碼,並且file_get_contents()始終返回false。 – 2017-12-01 21:50:00

0

檢查手機的Google地圖API。在那裏您將收到一張圖片而不是HTML地圖。

3

您可以輕鬆地使用的file_get_contents

讀取URL

片段的,這將是

$url='http://maps.googleapis.com/maps/api/staticmap?center=15719+OAKLEAF+RUN+DRIVE%2CLITHIA%2CFL%2C33547%2CUS&zoom=8&size=150x100&markers=color:blue|label:S|11211&sensor=false'; 

file_put_contents('filename.png',file_get_contents($url)); 
1

這是很容易

只需使用

if(@copy('http://maps.googleapis.com/maps/api/staticmap?center=15719%20OAKLEAF%20RUN%20DRIVE,LITHIA,FL,33547,US&zoom=8&size=150x100&markers=color%3ablue%7Clabel%3aS%7C11211&sensor=false', '/where-u-want-to-save/your-given-name.png')){ 
echo "image-saved"; 
}else{ 
echo "failed"; } 

形象總是返回爲PNG格式 您可以通過緯度經度值或使用PHP時間給圖像唯一的名稱()函數