1
votes

I need to force mapbox maps to work completely offline when I need it.

For now, even if I downloaded offline maps, but did not switch off the internet connection of a device, the maps continue to update itself. Moreover, if the current view region downloaded only up to, for example, x6 zoom level, when you try to zoom it in more, it starts to download details.

I want to have the opportunity to have full control under usage of internet of the app and somehow disable access for the update of mapbox map during the work of app when I need it.

I tried the solution from here Add a flag to pause network requests. #15650, but the app crashes

Is there any solution for this problem?

2
were you able to find a solution for this?kos
Partly. I used paid solution from here openmaptiles.com/mobile-appDegtiarev Aleksei

2 Answers

0
votes

Offline maps supports this Mapbox open source fork now.

-1
votes

I've been rummaging through mapbox's documentation for a while and unfortunately I haven't noticed anything like what you're describing.

I'm going to take a wild guess and assume you are trying to VIEW the map so you can WORK ON the map and have it save your stuff much like saving a scene. While I ABSOLUTELY AGREE WITH YOU(that being able to see/edit the map without having to hit play would be great!) I think you would be better off thinking of mapbox as Procedurally Generated.

Much like ProGen games, things don't usually show until you hit play and you cant really work on it visually.

BUT! To help you along your journey what I can tell you is this:

1. Make a dataset in Mapbox Studio
2. Place a point and give it some way of identifying this point by inserting your own "key" - "value" on the lefthand side.
3. Create a new Tileset that uses the newly created datatype
4. Create the thing you want at that point as a prefab
5. As long as Mapbox is in your project you should be able to right-click in the Project folder and go to Create>Mapbox> Modifiers>Prefab Modifier(the list is not in alphabetical order).
6. Insert your created prefab into the Prefab Modifier's "Prefab" Label.
7. Go to the map's GO and go down to Map Layers>Features.
8. Add a new feature and set the Data Layer to grab the newly created dataset (through unity)
9. Use the "Filter" section to filter through to the specific data you want by referencing the "key" - "value" you set up for the point. (Without this it will grab EVERY point from the dataset, this is fine if every point is used for the same thing but will mess up if you have points on the dataset that you don't want to affect)
10. Go down to Behavior Modifiers then, under "Game Object Modifier", click "Add Existing Modifier" and look for the Prefab Modifier you just created(the list is long so it'll take a minute to find)

What this has done is taken your dataset, added it to the tileset, ur style uses that tileset so when you add the style to Unity you are connecting to that tileset as well. From there you can grab the dataset THROUGH unity. The Map Features section(under Features) is used to do this. With datasets that contain different points for different reasons you can use the "Filter" to specify the points you are looking for by referencing the "key" - "value" you defined for it. This section automatically holds the location of every point in the dataset you created(post-filtering). The Game Object Modifier will take the prefab you placed in the Prefab Modifier and create a clone of that prefab at every point that matches THIS Feature's dataset(post-filtering of course). [you may have more than one feature]

There are a few other things you probably want to do I'm betting and yes there is a way to change these things through script. I would recommend trying this first then checking what else you need/want to do. Hope this helped!