繁体   English   中英

我可以将OpenLayers用于简单的自定义图块网格系统吗?

[英]Can I use OpenLayers for a simple custom tile grid system?

我的数据库中有一个表,上面有2.500个图块,因此是50 x50。前端大小是每个图块256px x 256px,应该没有缩放级别。 然后是保存其他数据(建筑物,对象)的表,并且该对象中的每个对象都可以属于某个图块。

在前端,我想使用全屏OpenLayers来显示一组图块来填充屏幕,而只需使用拖动和异步即可。 重新加载OpenLayers提供的图块。 如果可能,即使到达世界地图的边界,甚至可以自动停止拖动。

我也不想渲染图像(png)-瓦片应该为空的<div>或至少是透明的,因为无论如何主体的背景都是重复的草纹理,并且我想包含<img>取决于与模型中的图块关联的对象。

熟悉OpenLayers的任何人都可以告诉我,后端使用如此简单的自定义模型是否可以实现? 在这种情况下的任何资源都将非常有帮助!

是的,如果表中的每个图块都具有与其相关联的某些地理空间数据(例如边界或角的纬度/经度),则在OpenLayers中可以这样做。

OpenLayers希望在浏览器的视口内地理空间放置基础层(将您的图块作为WMS)和要素(将您的建筑物和对象作为WMS,WFS或Vector)。 技巧是将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听起来很陌生。 这是我会开始的方式,但我愿意接受更好的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM