我尝试使用Mapbox静态API返回一张地图,显示基于坐标的特定路线。
https://www.mapbox.com/api-documentation/?language=cURL#retrieve-a-static-map-from-a-style
这个可以实现,但是由于URL长度的限制,如何基于包含大量坐标的数据集生成静态地图?https://www.mapbox.com/api-documentation/?language=cURL#retrieve-a-static-map-from-a-style
这个可以实现,但是由于URL长度的限制,如何基于包含大量坐标的数据集生成静态地图?如文档所述:
将大型GeoJSON对象用作覆盖参数的参数可能会导致达到8,192字节的URL长度限制。缩短结果URL长度的可能选项包括:
- 在将其作为参数传递之前,使用第三方库(例如simplify-geojson)简化您的GeoJSON。
- 将GeoJSON中的坐标精度限制为不超过五到六个小数位,这将允许您在GeoJSON本身中使用更多点。
但是,您的文件跟踪(geojson,gpx等)可能非常大,以至于上述所有选项都无法有效地将其减少到字符限制以下。
因此,最后的解决方案如下。首先将文件上传为tileset(而不是dataset),将其添加为自定义样式的图层,然后从中生成静态地图。
如果GeoJSON包含一个大而详细的多边形,您可以在Mapbox Studio中创建自定义样式,其中包括该多边形,并将生成的样式ID传递给Static Images API的style_id参数,而不是使用overlay参数。首先将GeoJSON上传到Mapbox作为瓦片集,然后将其添加为自定义样式中的图层。参考此教程进行指导。