2016-02-12 215 views
0

我需要得到一個地圖上有大量的多邊形的靜態圖像。谷歌地圖靜態API網:: ERR_CONNECTION_CLOSED

引用是從可以超過2000個座標的數組中生成的。

link += "&path=weight:5|fillcolor:"+color+"|"+params[i].cords[0].lat+","+params[i].cords[0].lng+"|"+params[i].cords[1].lat+","+params[i].cords[1].lng+"|"+params[i].cords[2].lat+","+params[i].cords[2].lng+"|"+params[i].cords[3].lat+","+params[i].cords[3].lng; 

在此之後,我假定這URL的 'IMG' 元素:

img.src = "https://maps.googleapis.com/maps/api/staticmap?format=jpg&zoom=2&size=400x400"+ generateParamsForLink(params) +"&key="mykey" 

當一個請求被髮送,我得到一個錯誤 - 網:: ERR_CONNECTION_CLOSED

我的短url =)

我會很樂意提供任何建議。

回答

0

您的網址中有超過16k個字符。恐怕這個API你不希望的方式工作,以

這裏是鏈接到該限制規定的API文檔的部分是2048個字符:https://developers.google.com/maps/documentation/static-maps/intro#url-size-restriction

你也應該網址編碼像這樣img.src = "https://maps.googleapis.com/maps/api/staticmap?format=jpg&zoom=2&size=400x400"+ encodeURIComponent(generateParamsForLink(params)) +"&key="mykey"

也有鑰匙前一個額外的符號在生成的版本,我猜這是因爲在空PARAMS的最後一個項目。

希望這會有所幫助,對不起,我沒有更好的消息。我建議使用嵌入式谷歌地圖,但禁用交互。

如果你真的需要這個圖片,這裏有一個解決方案的帖子,我沒有測試過它,不能保證它的工作效果。如果它適合你,請告訴我!

Google Maps image?

+0

謝謝,我顯然錯過了有關尺寸限制的信息。 我用靜態地圖來生成pdf文件。也許你知道我沒有他們怎麼辦? –

+0

@AntonGorshenin我剛剛更新了答案,請讓我知道如果這對你有用。過去我遇到過一個類似的問題,那就是生成一個嵌入PDF打印的地圖,因爲尺寸限制,分辨率不夠高。當時我們最終決定放棄地圖,但當時我無法找到這個解決方案。 –

+0

我也無法找到通過靜態API構建大數據的解決方案。同時我也嘗試使用OSM + mapbox + leaflet_image。該解決方案允許放置4096個字符的字符串。但不幸的是,這不足以達到我的目的( )現在我嘗試使用highcharts maps。 –