2012-08-04 64 views
2

因此...我在需要坐标以将标记设置到不同位置的项目中使用了地图。有很多选项可供我获取坐标。在Django的javascript函数中获取地图坐标的最快方法

  1. 将坐标存储在数据库中,并使用django视图使用ajax响应获取和转发坐标到javascript函数。

  2. 将它存储到python列表或字典中,并在需要时将该数据发送到该javascript func。

  3. 硬编码HTML标记属性中的坐标并通过javascript获取它们,然后设置标记。

  4. 在django视图中使用文件并通过文件I/O获取数据并将其转发给javascript函数。

我想知道这些技术是有效的约50组坐标和哪一个会更充足,如果我的设置提高到约1000?

如果你有更好的方法来做到这一点......请分享.. 感谢

+0

这个地理数据可能会发生变化吗?你的第三个选项表明你正在谈论静态数据? – 2012-08-04 10:00:15

+0

是的数据是静态的...我有(位置+坐标)约50个位置,我想显示.. – 2012-08-05 04:04:46

回答

1

我认为最好的办法是将这些数据存储在数据库中,一对夫妇的原因:

  1. 您将能够对这些数据执行一些查询,例如“给我所有点在视口中”或“给我所有距离其他点5公里的点” - 即使您不需要它现在它可能在未来非常有用,特别是如果你想到有大约1000点
  2. 有美妙的utils将数据库中的坐标保存在与Django很好集成的数据库中 - 您绝对应该查看postgis和geodjango
  3. 您使用的是Django,因此您可能在数据库中有其他数据,并且很高兴在一个地方放置所有内容
  4. 除非您想要在地图上显示某种不太可能更改的静态数据,否则将其保留在数据库中的任何地方都是不妥当的。

如果由于某种原因,你不希望使用任何数据库(即使你可以将这些数据总是存储在使用SQLite的文件),你也可以尝试将其存储在一些Python对象,然后将它们发送到js的(所以第二个选项),第三个我认为是最糟糕的 - 你不能使用JavaScript以外的数据进行任何操作,这将是很难阅读或调试(例如语法错误)。

Hth

+0

第4,文件I/O呢? – 2012-08-05 09:40:55

+0

对于我来说,它与第二个选项几乎相同 - 您可以将Python对象存储在该文件中。我不认为以另一种格式存储它实际上是有意义的 - 对每一个请求都需要额外的不必要的解析。 – zeroos 2012-08-05 10:01:58

+0

好的..谢谢.. :) – 2012-08-05 10:58:43

相关问题