基于web(ASP.Net)应用程序的脱机地图



我正在开发一个基于web的应用程序,需要在每个国家或城市上覆盖一些颜色层。我知道我可以使用谷歌地图,但我遇到的问题是,我们部署应用程序的服务器无法访问互联网。所以我需要一个像谷歌地图这样的地图组件,我可以离线使用它,有人能建议我使用任何组件吗?

您可以查看openstreetmap。在那里,您可以下载适用于整个世界的planet.xml文件,或者仅适用于您想要服务的地区的特定文件。好的材料也可以在这里找到:www.geofabrik.de

然后,您必须设置自己的tileserver,它将处理提供的xml文件的png tile,并将所有png映射存储在本地硬盘上。

tileserver可能也会有一些web api。因此,您的tileserver可能在localhost:8080或其他端口上运行,您的网站可能在80端口的apache上运行。然后,您可以使用一些web框架来访问自己的tileserver。这个框架是可能http://openlayers.org/其还可以在地图上绘制形状。作为tileserver位置,您可以将地址添加到本地安装的tileserver中。然后,Openlayers将接收嘎吱作响的瓷砖,并用它做一些事情。

因此,您必须至少一次从互联网(planet.xml)获取一些信息并处理您的数据。但要注意,这种处理可能需要很长时间,这取决于你想服务的国家数量,而且这些png文件会占用很大的空间。

看看openstreetmap.org如何做到这一切,包括一些数字。

也许甚至可以从openstreetmap下载经过处理的瓷砖,并将其按特定顺序放置,然后启动指向这些瓷砖的瓷砖服务器。这可能会容易得多。

您不能下载谷歌地图互动程序并在自己的互动程序服务器中提供,因为它们有许可证限制。

问候,

一月

您会发现这很困难,因为仅地图数据就可能占用数百兆字节的存储空间。该操作系统在英国提供离线地图,他们免费提供,但它是有限的,你必须手动将其集成到你的网站中。

拥有一个无法访问互联网的基于网络的应用程序对我来说似乎有点愚蠢,当然有办法解决这个问题吗?

最新更新