使用Django作为openlayer UI的地图源

时间:2012-04-07 09:00:10

标签: python django openlayers openstreetmap geodjango

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

  1. 如何使用Django在我自己的服务器上托管OSM数据并充当openlayers的Mapserver(或地图源)?
  2. 如何让openlayer与此服务器通信以呈现地图或叠加?
  3. 如果我的问题的某些部分没有意义,我很抱歉;这是因为我理解这些组件目前是如何模糊的。

1 个答案:

答案 0 :(得分:3)

在坐标处显示标记是最简单的部分。更难的部分是托管您自己的基本地图。这是我认为你可以做到的一种方式:

  1. 获取您感兴趣的区域的OpenStreetMap数据。
  2. 为地图开发样式表,或使用现有样式表。 Mapnik是一种选择。
  3. 使用Tilecache以不同的比例级别为地图的缓存图像切片提供服务。除了你的django应用程序之外,还必须运行。
  4. 另一个选择是使用Tiledrawer设置为您的基本地图提供服务的Amazon EC2服务器,而无需手动配置所有内容。

    Stack Overflow只允许我发布两个链接,因此您必须搜索Tilecache和Mapnik的网站,但它们很容易找到。

    参考文献: