可能我的数据库有几百万个覆盖物图形
采用的是百度地图瓦片
在启动地图的时候将当前可视区域转为对应的经纬度空间对象,然后去数据检索在这片区域和级别下的覆盖物数据
但这样的方式很慢,目前就140万的数据,在进行空间数据检索的时候,例如12级的地图,就要把小于等于12及且在可视区域内的图形数据全部检索出来并绘制到地图上去
可能最后查出来也就10个图形 ,但花费的时间却是最少7秒左右,如果地图扩到最大的19级,那可能就要花费十几秒的时间才能查出来
就想到了用缓存的方式,每次拉取一块区域的数据时就存到缓存里面,但在移动地图或进行缩放扩大的时候,如何知道当前可视区域哪些图形已经在缓存里,哪些需要去服务器上获取
瓦片的加载方式就是算出当前可视区域的瓦片集合,然后循环这个集合先从本地文件夹里找到,如果有,就加载,没有就从服务器获取
因为瓦片的命名方式是level_x_y
所以很容易就能定位到相关瓦片图片
但这个地图又应该怎么弄呢?