当用户移动谷歌地图时,我希望自动显示用户可见范围内的项目。如何高效快速地展示这些项目?我了解每次用户移动地图时调用getBounds()方法的基本原理,但我不确定如何高效地搜索并从我的数据库中获取当前视窗边界内的项目的纬度/经度。有更简单、更快速的方法吗?
我曾经遇到过同样的问题。我尝试缓解这个问题的方法如下:
SELECT * FROM table WHERE long > $long_left AND long < $long_right AND lat > $lat_bottom AND lat < $lat_top
的查询语句如果您预计会有大量标记,请使用 MarkerManager
来处理标记,因为您可以设置标记仅在特定缩放级别下显示。
将经纬度存储为小数可以让数据库正确比较值,而不必在比较之前转换值。
索引是数据库的关键(哈哈,双关语),请正确使用它们,但不要过度使用。