MapsSDK-Unity icon indicating copy to clipboard operation
MapsSDK-Unity copied to clipboard

Offline maps

Open AnushaFatima opened this issue 5 years ago • 20 comments

I want to use maps sdk and build an app that would work completely offline. Please explain how to get offline map terrain feature to execute this effectively?

AnushaFatima avatar Apr 25 '19 06:04 AnushaFatima

Offline is currently not supported, but this is a good item to consider as a feature request!

kircher1 avatar Apr 26 '19 16:04 kircher1

Not even disk caching?

How soon will this feature be available? Any other tool/sdk that can help with offline 3D terrain maps in unity?

AnushaFatima avatar Apr 30 '19 05:04 AnushaFatima

Right, there's no disk caching. The extent of caching we do is in-memory (at runtime) to avoid re-requesting data from the servers.

Currently, there's no exact timeline we have for delivering an offline solution, but in terms of planning/timeline, we are continually weighing feedback and feature requests to prioritize what to work on next. These are exactly the kind of requests we are looking for! For others following, please feel free to file feature requests on the issues page and +1 existing requests that have already been opened. This will go a long ways in helping us prioritize what to deliver!

kircher1 avatar Apr 30 '19 17:04 kircher1

I'd really prefer to use SDK in our project under development now also. However, we must run in off-line mode. I need offline to cover a certain geographic area at a certain zoom level(s). Specifying it this way so that we could ensure it is pre-cache it would be nice. Some way to track the cache loading would also be needed.

derekdominoes avatar Jun 03 '19 09:06 derekdominoes

Yes, I am in need to have an offline version as well. It would be great if you could export the current rendered map to an FBX, so it can just be loaded as a normal gameobject and not streamed in.

josephsipos avatar Jun 13 '19 19:06 josephsipos

I just wrote a whole GH issue up before finding this thread, so I'm gonna copy/paste it in here!

Is your feature request related to a problem? Please describe. We are in a disconnected scenario and want to use this control while not connected to the Internet.

I note that I can choose my own texture tile layers, but the elevation data is still Bing-specific, and this is pretty important.

Describe the solution you'd like I would like to choose my own data source for elevation and imagery data. Alternatively, I'd like

Describe alternatives you've considered The only other solutions are other map controls that are less features (eg. MapBox) - I love the feel and design of this Bing control, except for this limitation.

I've also tried decompiling Microsoft.Maps.Unity, so I can just do it myself, but it's obfuscated to a point where I can't work with it.

Additional context I'm happy to either scrape the Bing Maps API or supply my own Tile data, or even be supplied with the source for Microsoft.Maps.Unity (which will yield other benefits too - like elevation exaggeration support, which is something I'm having to work around separately)

xwipeoutx avatar Feb 04 '20 23:02 xwipeoutx

If you do have your own tile data, we would like to have the flexibility for you to load it from disk. Currently only textures are supported via a TextureTileLayer, but we have been considering an API to allow for customizing elevation data or 3D mesh data via similar TileLayers.

While somewhat orthogonal to blanket offline support, at least it would enable offline scenarios for folks who have their own data to display.

elevation exaggeration support

You could achieve this by creating a custom shader based and applying a scale to the elevation variable computed here, and then used by the shader.

kircher1 avatar Feb 04 '20 23:02 kircher1

While somewhat orthogonal to blanket offline support, at least it would enable offline scenarios for folks who have their own data to display.

Just want to explore this a bit more - if I used my own tile layers for imagery and elevation (based on HttpTileLayer, most likely), implemented my own shaders for the terrain, stuck to the "flat" elevation option in the render settings, and ensured my pin altitudes were based on the ellipsoid - would this work 100% offline? Is the "Bing Maps Key" going to just be ignored in this case?

I'm feeling that's deep in "this is a hack" territory, but would have the advantage of your excellent work with the tile loading/blending/caching logic, geo-transforms etc.

The only blocker I can see for that is the number of triangles generated for the tile is dependent on the resolution of the elevation information (as far as I can tell) - so I'd have to stick a geometry shader in there as well to make some extra detail.

You could achieve this by creating a custom shader based and applying a scale to the elevation variable computed here, and then used by the shader.

Aye, that's exactly what I ended up doing - but I also have to apply it to pins, and to the bounding box, and to the results of TransformLatLonAltToWorldPoint - not something I can contribute back as it's a big ol' hack (but now we're back in #43 territory so let's not sidetrack this one further)

xwipeoutx avatar Feb 05 '20 00:02 xwipeoutx

With respect to the offline maps, it's a good point about the Bing Maps key. We'll look into that.

kircher1 avatar Feb 05 '20 00:02 kircher1

This thought of off-line usage has also occurred to me but in the form of simply, if possable, adding to a cashe for reuse... As my projects have about 20 levels where 8 are different geo-spatial areas that users will bounce back and forth between. It would be very advantageous and I would expect much faster to load from the cashe rather than re-stream through the internet wifi... So, I am glad this was brought up and glad your team will consider adding offline capability... Cool...

On Tue, Feb 4, 2020, 5:36 PM kircher1 [email protected] wrote:

With respect to the offline maps, it's a good point about the Bing Maps key. We'll look into that.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/microsoft/MapsSDK-Unity/issues/7?email_source=notifications&email_token=AFMY7RBXERXNOEOO3KVTR6LRBICXLA5CNFSM4HIJ6WHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKZXCLQ#issuecomment-582185262, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFMY7RE4JS2Z2C3Y7DZ4HDLRBICXLANCNFSM4HIJ6WHA .

TerraSame avatar Feb 05 '20 05:02 TerraSame

I'm also looking for the ability to export a 3D map as an FBX file.

cjonesy20 avatar May 26 '20 04:05 cjonesy20

Yes that would be awesome. Along with the mating textures... But, I don't see that happening as the tick, tick, tick won't work and I expect the LOD would not either...

On Mon, May 25, 2020, 10:52 PM cjonesy20 [email protected] wrote:

I'm also looking for the ability to export a 3D map as an FBX file.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/microsoft/MapsSDK-Unity/issues/7#issuecomment-633806313, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFMY7RBC4I57ZHQERIMSULDRTNDHVANCNFSM4HIJ6WHA .

TerraSame avatar May 26 '20 23:05 TerraSame

Would be great the offline maps data to get access meshes and textures.

Acuolo avatar Nov 26 '20 03:11 Acuolo

Looking forward for this feature!

shenrique38 avatar Feb 03 '21 10:02 shenrique38

My project would also benefit from offline maps for a couple of selected areas.

MMitty avatar Mar 31 '21 18:03 MMitty

@kircher1 Any update on the Bing Maps API key issue for offline maps? Cheers

userint avatar Apr 12 '21 00:04 userint

For what it's worth, we're using this control now WITHOUT a bing maps API key, with custom imagery and elevation layers of our own. The control works, you just have to put up with a warning in the editor about it.

Of course, you need to have an elevation and imagery source, which is the hard part - it's not "offline maps" like Google Maps lets you do before you go on a holiday. Note that scenario is likely against the Bing Maps TOS anyway, so you'd still need your own tile sources.

xwipeoutx avatar Apr 12 '21 05:04 xwipeoutx

I am also interested in the usage of Bing maps in offline. In my project, I am only showing places of interests for a small region. It is to be installed in a museum, and they don't reliable internet connection.

I apprecite any update you can give about this topic. Thahks

shenrique38 avatar Oct 27 '21 08:10 shenrique38

Hi @kircher1 , Have you worked on offline bing maps key? i need a 3d map that i can use offline

ecmeldmt avatar Jan 30 '22 07:01 ecmeldmt

For what it's worth, we're using this control now WITHOUT a bing maps API key, with custom imagery and elevation layers of our own. The control works, you just have to put up with a warning in the editor about it.

Of course, you need to have an elevation and imagery source, which is the hard part - it's not "offline maps" like Google Maps lets you do before you go on a holiday. Note that scenario is likely against the Bing Maps TOS anyway, so you'd still need your own tile sources.

Hi, could you give some pointers on how you would go about obtaining the imagery and loading it from disk? I am running into a similar issue.

brio-sflscientific avatar May 25 '22 20:05 brio-sflscientific

Bing now supports an offline mode where if you load the map once while connected, it will buffer it. This would be really, really helpful since right now I have a couple of apps that only really need a small map area, but need an internet connection just for that. Trying to demo something in secure areas can be a real pain.

Here's the link: Getting Started Building Offline Maps App for Windows

mark-bentley-vizworx avatar Nov 30 '22 15:11 mark-bentley-vizworx

Is there any support for offline maps? (i.e serve data locally)

HarrisonBT avatar Feb 01 '24 03:02 HarrisonBT