2

我正在考虑创建一个显示城市地图的 Web 应用程序(来自 openstreetmaps 数据)。我想在顶部创建一个代表标记的图层。我预计我将拥有一个包含大量标记的数据库,这些标记将作为图层显示在地图上。我遇到过openstreetmap、openlayers、geodjango等,但我无法弄清楚如何将所有这些组合在一起来解决我的问题。我很喜欢使用 Django 和 Python。有人可以帮我理解以下内容:

  1. 如何使用 Django 在我自己的服务器上托管 OSM 数据并充当 openlayers 的 Mapserver(或地图源)?
  2. 如何让 openlayer 与该服务器对话以渲染地图或叠加层?

如果我的问题的某些部分没有意义,我很抱歉;这是因为我目前对这些组件的理解非常模糊。

4

1 回答 1

3

在坐标处显示标记是容易的部分。更难的部分是托管您自己的底图。这是我认为你可以做到的一种方法:

  1. 获取您感兴趣的区域的 OpenStreetMap 数据。
  2. 为您的地图开发样式表,或使用现有的。Mapnik 是一种选择。
  3. 使用 Tilecache 以各种比例级别提供地图的缓存图像切片。除了您的 django 应用程序之外,它还必须运行。

另一种选择是使用Tiledrawer设置 Amazon EC2 服务器来为您的基本地图提供服务,而无需手动配置所有内容。

Stack Overflow 只让我发布两个链接,所以你必须搜索 Tilecache 和 Mapnik 的网站,但它们很容易找到。

参考:

于 2012-04-07T18:59:36.387 回答