Я использовал Mapbox GL Native (в частности, react-native-mapbox-gl). Я создаю свои собственные векторные плитки на сервере, и я хотел бы, чтобы пользователь загружал их на свое устройство из мобильного приложения. Затем я хочу, чтобы Mapbox GL использовал локальные фрагменты, указанные в файле TileJSON, указанном в файле стиля GL Mapbox.Как я могу использовать `asset: //` для файлов без APK на Android в стиле mapbox-gl?
У меня есть работа над iOS (по крайней мере, в симуляторе). Мой стиль выглядит следующим образом:
{
"version":8,
"name":"Bright",
"sources":{
"mapbox":{
"type":"vector",
"url": "asset:///absolute/path/map/tile.json"
}
},
"sprite":"asset:///absolute/path/map/sprites/mysprite",
"glyphs":"asset:///absolute/path/map/glyphs/{fontstack}/{range}.pbf",
"metadata":{...},
"layers":[...]
}
с tilejson выглядит как:
{
"tiles":[
"asset:///absolute/path/map/tiles/{z}/{x}/{y}.pbf"
],
"tilejson":"2.0.0",
// plus lots of other stuff
}
На Android это не работает. Похоже, что asset://
работает только с файлами в APK, а не с файловой системой.
Есть ли что-то, что я могу сделать на платформе Android, чтобы Mapbox GL загрузил мои загруженные фрагменты с устройства?
Yup! Схема 'file: ///' была реализована после того, как я создал этот вопрос. См. Проблему на странице https://github.com/mapbox/mapbox-gl-native/issues/6273. Учитывая, что теперь это правильный способ сделать это, я буду отмечать этот ответ как правильный :) –
@EricPalakovichCarr Да, я тоже случайно наткнулся на эту git-нить. Отличная работа по ее реализации. Было немного белого кита для меня! –
Да, это же для меня :) –