什么是在数据库中存储大量标记的最佳方式?

问题描述:

我想创建一个使用谷歌地图,PHP,MySQL和JavaScript的网站,用户可以在地图上留言并留言,以便其他用户可以在他们的地图上看到此标记。所有这些都是实时的。什么是在数据库中存储大量标记的最佳方式?

我想标记的量将是巨大的,所以我决定用瓷砖存储在数据库中标记:

你可以看到图片解释这个在这里

http://kunuk.wordpress.com/2011/11/05/google-map-server-side-clustering-with-asp-net/

http://www.soak.co.uk/blog/server-side-map-marker-clustering/

因此,例如,在开始时确定客户机视口的坐标,并计算要从服务器加载的图块,然后服务器确定标记在请求的切片中,并将它们发送给客户端。

我的问题是什么是最好的方式来组织数据库,将通过瓷砖存储标记?

可以smn显示一个例子,或者已经有一个标准的解决方案来解决这个问题吗?

我觉得你太过复杂了。如果你唯一要存储的是标记(lat & lon),那么单个数据库表就可以。

喜欢的东西:

  • ID
  • USER_ID
  • TILE_ID
  • LAT
  • LON
  • 消息
+0

但是服务器请求从客户一定的瓷砖,和因此标记需要使用拼贴存储。 – knightOfSpring 2012-04-13 09:27:14

+0

这就是为什么他建议'tile_id'作为一个字段,不是吗?因此,您可以通过显示的图块请求标记。 – kontur 2012-04-13 09:52:38

+0

您的soak.com链接上的文字提到只有一个表正在使用。您必须使用PHP计算每个缩放级别上每个图块的ID,而不是在数据库中。 – 472084 2012-04-13 10:04:50

如果您正计划大量工作标记的,绝对看一看谷歌的融合表:

https://developers.google.com/fusiontables/

而且你可以在这里阅读更多关于它:

https://developers.google.com/maps/articles/toomanymarkers

+0

是的,我试了一下。但我不想使用它,它有局限性。 – knightOfSpring 2012-04-13 09:45:56