Использование глифов в службе определения местоположения Amazon и Mapbox-GL

#amazon-web-services #mapbox-gl-js #react-map-gl

#amazon-веб-сервисы #mapbox-gl-js #реагировать-карта-gl #amazon-location-service

Вопрос:

Я использую службу определения местоположения Amazon с помощью React, react-map-gl и Mapbox-GL. Я могу успешно загрузить ESRI и HERE maps, что говорит о том, что моя аутентификация в порядке, но, похоже, у меня проблемы с доступом к глифам (шрифтам). Я пытаюсь добавить функцию кластерных маркеров, подобную этой. Я могу добавить точки и загрузить базовый слой, но когда я пытаюсь добавить количество точек, возникает ошибка доступа к глифу. Он отправляет запрос следующим образом:

https://maps.geo.eu-west-1.amazonaws.com/maps/v0/maps/<MY_MAP>/glyphs/Noto Sans,Arial Unicode/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*"
 

И это:

 "geo:GetMapStyleDescriptor",
"geo:GetMapGlyphs",
"geo:GetMapSprites",
"geo:GetMapTile"
 

Что мне нужно сделать, чтобы правильно настроить глифы в службе определения местоположения Amazon? Я ничего не настраивал, просто надеялся, что они будут работать естественным образом. Я пропустил шаг? Ничего не вижу в Интернете об этом.

Есть ли обходной путь, при котором я мог бы загрузить системный шрифт вместо удаленного глифа?

Я использую следующие версии, которые не являются самыми последними, поскольку самые последние несовместимы с Amazon Location Service:

 "mapbox-gl": "^1.13.0",
"react-map-gl": "^5.2.11",
 

Ответ №1:

Стек шрифтов по умолчанию ( Noto Sans, Arial Unicode ) для кластерного уровня в настоящее время недоступен через Amazon Location. Вам нужно будет изменить стек шрифтов, используемый кластерным уровнем, на что-то из списка поддерживаемых: https://docs.aws.amazon.com/location-maps/latest/APIReference/API_GetMapGlyphs.html#API_GetMapGlyphs_RequestSyntax