如何在uwp中使用OSM离线地图?没有可用的互联网连接时出现问题

在脱机映射运行良好的情况下,OSM的所有位图都来自同一台计算机上的localhost服务器。一切正常,可以看到我的所有地图,但是,如果wifi未连接到互联网,则该地图将完全停止工作,并显示黑屏。”


wifi关闭时,我已经测试了服务器,并且似乎在浏览器中带来了正确的地图图块。


我使用HttpMapTileDataSource指向本地节点图块服务器来获取地图


            var serverUrl = string.Format("http://127.0.0.1:6543/{0}", newTileInfo.TileUri);

            var url = string.Format("{0}/{{zoomlevel}}/{{x}}/{{y}}.png", serverUrl);

            HttpMapTileDataSource dataSource = new HttpMapTileDataSource(url);


            MapTileSource tileSource = new MapTileSource(dataSource);

            tileSource.AllowOverstretch = true;

            tileSource.IsFadingEnabled = false;


            _zoom = newTileInfo.Range;


            MapControl1.TileSources.Add(tileSource);

看到此问题后,我猜想离线地图可能已获得使用地图控件的许可(必须在线,这会破坏离线地图的意图)


回首忆惘然
浏览 172回答 1
1回答

MM们

对于HttpMapTileDataSource,请注意,自版本15063起,本地uri不再起作用。当您连接到127.0.0.1哪个是本地服务器时,因此您可能需要使用a CustomMapTileDataSource。对于每个请求的图块,BitmapRequested都会调用事件处理程序。在此处理程序中,您可以将任何位图传递给地图。
打开App,查看更多内容
随时随地看视频慕课网APP