gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 00:10:48 25 4
gpt4 key购买 nike

我的数据库中有一个表,其中包含大约 2500 个图 block ,因此大小为 50 x 50。前端大小为每个图 block 256 像素 x 256 像素,应该没有缩放级别。然后是包含其他数据(建筑物、对象)的表,并且这些对象中的每一个都可能属于某个图 block 。

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

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

任何熟悉 OpenLayers 的人都可以告诉我在后端使用如此简单的自定义模型是否可行?有关此特定案例的任何资源都会非常有帮助!

最佳答案

是的,如果表格中的每个图 block 都有一些与之关联的地理空间数据,例如边界或 Angular 的纬度/经度,这在 OpenLayers 中是可能的。

OpenLayers 希望在浏览器的视口(viewport)中按地理空间放置基础图层(您的瓷砖作为 WMS)和特征(您的建筑物和对象作为 WMS、WFS 或矢量)。诀窍是将 OpenLayers 限制为单个缩放级别(分辨率)以匹配存储的图 block 的隐式分辨率,然后设置 OpenLayers.Map 对象的 maxExtent 以匹配所有图 block 的范围,以便生成每个 WMS 图 block 请求OpenLayers 的边界框与您的一个图 block 相匹配。

这是 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 或服务器端脚本来接收请求,确定数据库中的哪个图 block 与 BBOX 边界匹配,然后将该图 block 作为图像响应返回。

抱歉,如果我在这里迂腐,但您对 OpenLayers 听起来很陌生。这是我开始的方式,但我愿意接受更好的想法。

关于javascript - 我可以将 OpenLayers 用于简单的自定义图 block 网格系统吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com