曲折通过API vs Studio添加Mapbox Sprite资产

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

PUT https://api.mapbox.com/styles/v1/{{username}}/{{style_id}}/sprite/pin-blue?access_token={{secret_token}}

我知道,由于缓存而在精灵中使用新图像可能需要几分钟。但是,经过一个多小时后,我仍然无法将新图像加载到地图上(我正在使用Mapbox JS GL)。 我验证了它在JSON响应中,并且可以在精灵图像中看到它。我已经对样式ID进行了三次检查,以确保我加载了合适的ID。

https://api.mapbox.com/styles/v1/{{username}}/{{style_id}}/sprite?access_token={{token}}

https://api.mapbox.com/styles/v1/{{username}}/{{style_id}}/sprite.png?access_token={{token}}


,如果我在Mapbox Studio中查看“图像”下拉菜单,我会看到我通过Studio上传的另一个自定义图像,然后将图像加载到我的地图中,但我在Sprite Sheet或API响应中看不到它上面(请参阅附件)!

文档

(请参阅下面的引用部分,重点是我的),听起来好像我可以使用方法(API或通过Studio上传),并且两者将调和。 我的假设是您可以使用任何一种方法不正确吗? Image shown after uploading via Mapbox Studio我应该等待使用新图像多久?该文档模糊地指出,可能需要“至少15分钟”

您可以使用Mapbox Studio或 样式API,它将自动设置您的样式的精灵属性 正确的URL模板。然后,您可以将自定义SVG图像上传到 使用Studio或样式API单图像或批处理图像的样式 端点。任何引用Mapbox托管样式的MAPBOX API都将 自动构建并提供精灵文件。

我快到了,但是我错过了一个关键的步骤。您还必须向样式提交更新。
  1. 您已使用添加新映像上传到Sprite端点或为Sprite Endpoint添加多个新图像后,请求更新您的样式的请求。精灵有效载荷
  2. ,很简单:
取消样式的配置,并将结果的JSON保存到文件:

https://api.mapbox.com/styles/v1/{{username}}/{{style_id}}?access_token={{token}}
mapbox-gl-js
1个回答
0
投票

从JSON文件中删除
created

modified字段。

从步骤2开始使用生成的JSON文件来使用您的样式。

  1. curl -X PATCH "https://api.mapbox.com/styles/v1/{{username}}/{style_id}?access_token={{token}}" \ --data @updated-json.json \ --header "Content-Type:application/json"

这将重新生成通往精灵的路径,您可以通过以下方式验证其更新以下内容:

https://api.mapbox.com/styles/v1/{{username}}/{{style_id}}/{{sprite_id_from_response_in_3}}/sprite.png?access_token={{access_token}}
  1. 
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.