0

我正在制作以标准 X/Y 坐标方式组织的基本地图。在每个坐标 (x,y) 处,都有存储在数据库中的内容(每个位置的内容通过 php/mysql 数据库加载)。

在我当前的设置中,地图只是作为静态对象放置在页面中,我使用 jquery/ajax 来更新坐标的显示和数据。

我正在寻找一种方法来动态加载单击和拖动地图,它将根据需要加载单元格。(出现在您的视图中的内容——在本例中为窗口,应从服务器加载——使用相对于其周围单元格的正确坐标创建一个 div)。

截至目前,我的静态地图有这个设置:http: //i.stack.imgur.com/LeVYO.gif (链接,因为我不能发布图片)


图像逐行放置(z 索引随着每一行的下降而变化,以呈现重叠的外观)。如果要复制相同的模式,以动态创建这些单元格,您可以看到当一行在右侧伸出时,左侧有空间,容易重叠。

我还没有找到任何方法来实现这一点:1)当一个单元格(内部有多个坐标的区域)可见时,检查周围的 8 个单元格是否已经加载。2) 如果周围 8 个单元格中的 1 个未加载,则在正确位置创建单元格,并分配“中心坐标”,以便生成的数据具有参考点。3) 确保单元格可通过单击和拖动移动,以及单击(交互)下的对象的能力。4) 无法通过滚动访问单元格(滚动条)

我觉得它相当复杂,但我正在寻找最好的方法,所以任何帮助或方向都会很棒!

4

2 回答 2

0

尽管我很想提供帮助,但我真的无法给出可以解决问题的答案,对此我深表歉意,但我想我可以尝试将您引向某事。

它是 HTML 5 的画布和相关功能。

看那个:

http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/

也许您还必须查看如何使用 HTML 5 构建 MAP

于 2013-04-15T16:47:36.450 回答
0

经过修补和大量谷歌搜索,快速搜索“jquery无限拖动”返回了这个结果:http: //ianli.com/infinitedrag/

我设法使用创建每个单元格时提供的函数调用,从数据库(ajax)收集地图数据并根据需要创建单元格。 http://mc1.empirebattles.com/map/jquery_map.html

我真的很喜欢它到目前为止的工作方式,除了如果我想能够点击地图下的任何东西(用于操作等),每当我释放点击以拖动地图时都会调用点击事件...... . 我试过 jquery 的 UI 双击,但似乎这个插件会在调用双击时立即控制

无论如何,如果其他人需要类似的东西,这个解决方案对我有很大帮助!

于 2013-04-17T20:22:01.793 回答