2012-04-13 124 views
4

我想創建一個使用谷歌地圖,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顯示一個例子,或者已經有一個標準的解決方案來解決這個問題嗎?

回答

1

我覺得你太過複雜了。如果你唯一要存儲的是標記(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

相關問題