Как создать публичный стиль с API? - PullRequest
3 голосов
/ 23 мая 2019

Я пытаюсь создать новый публичный стиль с помощью файла json на карте.

Документация (https://docs.mapbox.com/api/maps/#create-a-style) говорят, что мы можем создать новый стиль с помощью команды

curl -X POST "https://api.mapbox.com/styles/v1/urbaneaseantho?access_token=sYOURTOKEN" --data @test2.json --header "Content-Type:application/json"

Возврат скажем, это загрузка:

{"version":8,"name":"My Awesome Style","metadata":{},"sources":{"myvectorsource":{"url":"mapbox://{map_id}","type":"vector"},"myrastersource":{"url":"mapbox://{map_id}","type":"raster"}},"sprite":"mapbox://sprites/urbaneaseantho/cjw0ebb5v01p41co9znianoam/ck2u8j60r58fu0sgyxrigm3cu","glyphs":"mapbox://fonts/urbaneaseantho/{fontstack}/{range}.pbf","layers":[],"created":"2019-05-23T08:29:54.901Z","id":"cjw0ebb5v01p41co9znianoam","modified":"2019-05-23T08:29:54.901Z","owner":"urbaneaseantho","visibility":"private"}

У меня проблема с видимостью, по умолчанию мне нужно установить "public".

С "" visibility ":" public "в моем файле test2.json, тот же результат, если добавить" draft ": false, mapbox не хочет мой файл

Другим способом попробуйте обновить стиль, но при использовании

curl -X POST "https://api.mapbox.com/styles/v1/urbaneaseantho/STYLE_ID?access_token=TOKEN" --data @test_update.json --header "Content-Type:application/json"

возврат

{"message":"Not Found"}

Это возможно, или, может быть, это предел API?

Спасибо

1 Ответ

1 голос
/ 25 мая 2019

Решение из поддержки Mapbox:

  1. Выполните GET-вызов для получения объекта стиля
  2. Измените возвращенный объект JSON по желанию (в вашем случае измените «видимость» на «общедоступный»")
  3. Удалите" созданный "и" измененный "атрибуты из объекта стиля
  4. PATCH, используя обновленный объект Style в качестве тела вызова
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...