Google 静态地图 API - GET 请求的大 URL

问题描述 投票:0回答:1

我有一个监控 API 的程序。 API 每隔几秒轮询一次,它可能会返回一些城市数组。我将这些城市,每一个,转换为坐标,我可能有一个经度和纬度,或者一个由一组纬度和经度组成的多边形。

我正在使用 NodeJS 进程来轮询该 API,当代码触发数据聚合和地图生成过程时,我正在构建一个坐标数组,并向 google 静态地图 api 发送 GET 请求,并将数据作为查询params 并获取带有标记/多边形的地图图像。

问题是,每当我获得的城市数组足够大时,我可能会遇到包含 30k 字符的聚合 URL,无法通过 GET 发送它,因为我遇到的 Apachi Web 服务器的最大限制约为 8k 字符,因此请求失败。

如何改进使用许多 lng 和 lats 生成地图的过程,以在地图上获取多边形和标记?

node.js google-maps
1个回答
0
投票

文档说明了有关 URL 的一些内容。

地图静态 API URL 的大小限制为 16384 个字符。实际上,您可能不需要比这更长的 URL,除非您生成具有大量标记和路径的复杂地图。

还有

您可以通过在路径的位置声明中使用 enc: 前缀将路径声明为编码折线,而不是一系列位置。

请参阅 https://developers.google.com/maps/documentation/utilities/polylineutility?hl=en

此页面说的是

此实用程序使用 Maps JavaScript API。具体来说,路径的编码和解码由

encodePath()
命名空间中的静态方法
decodePath()
google.maps.geometry.encoding
处理。

有关相关文档,请参阅 https://developers.google.com/maps/documentation/javascript/geometry?hl=en#Encoding

折线编码不能作为 Web 服务使用,但我发现至少有几个 Node 库可以实现它。

© www.soinside.com 2019 - 2024. All rights reserved.