离线制作基于网络的地图的简单方法?[关闭]


15

我的目标是将世界地图嵌入到网页中,但不能访问互联网。最好仅将一组图块与一些易用的地图js-lib结合使用。存储空间并不是真正的问题,并且不需要最大缩放级别。

最简单的方法是什么?

我找到了一个看起来很合适的项目-贴在棍子上的地图,但似乎已经死了?


2
“不需要最大变焦”到底是什么意思?您需要哪种比例/精度/分辨率?
Mr_Chimp

2
mapnik(Windows)github.com/mapnik/mapnik/wiki/WindowsInstallation并使用localhost作为url(本地计算机)
Mapperz

准确性和分辨率并不重要,国家和市长就足够了,但是我当然希望它尽可能地好。简单性更重要,我正在尝试避免额外的服务和数据库。
tek

1
如果您愿意花几天时间在Windows上进行配置,则可以选择mapnik + postgis + postgresql + proj.4 + python 2.7 + ...,但是经过此操作后,我建议您研究以下TileMill答案。声音太大容易。
ca0v 2012年

真的很简单。唯一的问题是掌握地图数据以及创建离线地图系统所涉及的许可问题。即,大多数允许免费使用的地图提供者(例如google)只有在公众可以使用地图时才这样做。但这是一个完全不同的问题……我只在英国这样做,所以使用了可免费使用的OS Open Data。
Mr_Chimp

Answers:


17

我建议您研究TileMill,它是由在Maps on A Stick上工作的同一个人制作的。TileMill要么是“贴在地图上”的一部分,要么就是“贴在地图上”变成的东西-诸如此类。我忘记了连接。无论如何...

TileMill将允许您加载地理数据,按照自己的喜好对其进行样式设置,然后为各种缩放级别创建一组PNG地图图块。

TileMill的输出是一个.mbtiles文件。这只是一个保存PNG的sqlite数据库。如果您离线工作,将png提取到文件夹(使用mbutil)可能比使用sqlite访问它们更容易。

如果您的地图非常简单(即最小程度的交互),建议您将Leaflet用于地图库。

然后,在传单中,您需要添加一个图块层(提示:使用tms而不是xyz)。

希望能有所帮助。

编辑:需要注意的几件事。

1)您应该注意所使用的任何地图数据的许可限制(请参阅我对上述问题的评论)。

2)如果您靠近足够近的地方可以看到道路等,则预计会有数GB的瓷砖。


获得了概念验证并开始运行!我将不得不进一步调查许可问题,但这很可能是最简单的解决方案。
tek

2

另一种选择是诸如mapwingis之类的东西。不需要磁贴,它将读取shapefile。


MapWinGIS相当不错,但是问题是基于Web的。
Mr_Chimp

它说的是Web PAGE,而不是基于Web的页面,并且没有指定互联网访问权限,因此我认为这意味着基于服务器(或本地)的服务器,对于mapwingis来说是可以的。我已经在Access数据库中以某种形式使用了它,并且无法想象在Web页面中实现它会变得更加困难。
2012年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.