2016-02-12 217 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。 –