将 Glyphs 与 Amazon Location Service 和 Mapbox-GL 结合使用

Gra*_*eth 1 amazon-web-services mapbox-gl-js react-map-gl amazon-location-service

我将 Amazon Location Service 与 React、react-map-gl 和 Mapbox-GL 结合使用。我可以成功加载 ESRI 和 HERE 地图,这表明我的身份验证正常,但我似乎在访问字形(字体)时遇到问题。我正在尝试添加这样集群标记功能。我可以添加点并加载基础层,但是当我尝试添加点计数时,访问字形时出现错误。它正在发送这样的请求:

https://maps.geo.eu-west-1.amazonaws.com/maps/v0/maps/ <MY_MAP>/glyphs/Noto%20Sans,Arial%20Unicode/0-255.pbf?<....SOME_AUTHENTICATION_STUFF >

这似乎与此处显示的请求格式匹配: https: //docs.aws.amazon.com/location-maps/latest/APIReference/location-maps-api.pdf

但它的回应是:{"message":"Esri glyph resource not found"}

我收到了有关 HERE 地图和不同字体的类似错误消息。我已将以下内容添加到角色的操作中,但没有成功(它加载地图但不加载字形)

尝试过这个:

"geo:GetMap*"
Run Code Online (Sandbox Code Playgroud)

和这个:

"geo:GetMapStyleDescriptor",
"geo:GetMapGlyphs",
"geo:GetMapSprites",
"geo:GetMapTile"
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能在 Amazon Location Service 中正确设置字形?我没有配置任何东西只是希望它们能自然地工作。我是不是漏掉了一步?在网上看不到任何有关它的信息。

有没有办法可以加载系统字体而不是远程字形?

我使用的以下版本不是最新版本,因为最新版本与 Amazon Location Service 不兼容:

"mapbox-gl": "^1.13.0",
"react-map-gl": "^5.2.11",
Run Code Online (Sandbox Code Playgroud)

Set*_*ons 5

Noto Sans, Arial Unicode目前无法通过 Amazon Location 获取集群层的默认字体堆栈 ( )。您需要将集群层使用的字体堆栈更改为支持列表中的字体:https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapGlyphs.html#API_GetMapGlyphs_RequestSyntax