【发布时间】:2022-01-13 12:10:18
【问题描述】:
我正在使用HERE 进行地理编码和生成热图。
热图使用 URL 参数,但是当有许多数据点时,URL 可能超过 7.000 个字符,这远远超过了浏览器限制 2.048,然后引发 400 错误。 当数据点较少时,热图可以正常工作。
我将 URL 发送到前端并在浏览器中呈现返回的图像。
除了 URL 参数之外,我还有什么方法可以使用吗?还是直接从服务器调用 HERE 端点,将实际图像返回给前端?或任何其他“解决”此问题的解决方案?
我宁愿不必更改地图提供者!
我正在使用 NestJS 和 Angular 最新版本。
URL 示例(足够短,可以正常工作)
https://image.maps.ls.hereapi.com/mia/1.6/heat?apiKey=xxxxxxxxxxx&noblur=&w=2048&h=1024&a0=55.6059,12.99563&l0=2&rad0=1000&a1=55.61218,12.97896&l1=2&rad1=1000
谢谢
编辑:我暂时解决了这个问题
if (this.heatUrl.length < 2000) {
this.heatUrl += (this.getParams(i, partLoc[i].coordinates, partLoc[i].weight));
};
这会减少约 150 个数据点的约 100 个数据点,但由于它们是按时间顺序排序的,因此仅占元素的 10-15%。
仍在寻找合适的解决方案。
【问题讨论】:
-
要在 HTTP 请求中传输大量参数,您应该使用 POST 方法而不是 GET。如果我是你,我会先询问 HERE tech.support 团队他们的 API 是否支持 POST 请求
-
谢谢,但 HERE 不支持热图上的 POST 请求
-
@HEREDeveloperSupport 我不明白你的编辑???实际上,我本来希望您能给出答案,但您只需添加标签
geocoding,具有讽刺意味的是,这不是这个问题的意义所在!
标签: heatmap geocoding here-api