是的,如果表中的每个图块都有一些与之关联的地理空间数据,例如边界或角的纬度/经度,这在 OpenLayers 中是可能的。
OpenLayers 希望在浏览器的视口中按地理空间放置基础图层(您的瓦片为 WMS)和要素(您的建筑物和对象为 WMS、WFS 或矢量)。诀窍是将 OpenLayers 限制为单个缩放级别(分辨率)以匹配存储切片的隐式分辨率,然后设置 OpenLayers.Map 对象的 maxExtent 以匹配所有切片的范围,以便生成每个 WMS 切片请求由 OpenLayers 提供的边界框与您的一个图块相匹配。
这是 OpenLayers 为我拥有的简单基础层生成的 WMS 请求(BBOX 以米为单位)。该链接位于防火墙后面,因此对您不起作用:
http://kpnatsp8:9080/WmsServlet?SERVICE=USSTATES&TRANSPARENT=FALSE&FORMAT=image/png&LAYERS=USSTATES&SCALE=4000000.0000000005&SPHERICALMERCATOR=true&MAXEXTENT=-20037508.34,-20037508.34,20037508.34,20037508.34&REQUEST=GetMap&STYLES=&SRS=EPSG:900913&BBOX=-12812623.352549,3443367.869216,-11909512.729118,4346478.492647&WIDTH=640&HEIGHT=640
我有一个 Java servlet 接受该请求并返回一个平铺图像。您将编写自己的 servlet 或服务器端脚本来接受请求,确定数据库中的哪个图块与 BBOX 边界匹配,然后将该图块作为图像响应返回。
对不起,如果我在这里迂腐,但你对 OpenLayers 听起来很陌生。这是我开始的方式,但我对更好的想法持开放态度。