【问题标题】:How to show dwg in web page如何在网页中显示 dwg
【发布时间】:2021-08-26 19:15:06
【问题描述】:

我有一个想要在我的网页上显示的 dwg(如果需要,我可以将文件格式更改为 svg 或其他格式)文件。在页面中显示此文件后,我希望能够在必要时放大、缩小、平移和放置请求 api 的链接。事实上,当您将鼠标悬停在 Google 地图上的地标上时,似乎会出现有关相关地点的信息和链接。

我应该如何做这份工作?

【问题讨论】:

  • 你不能。 DWG 是 Web 浏览器本身不支持的专有 AutoDesk 文件格式。 JavaScript 和<canvas> 应用程序可以解析和显示DWG 文件,但据我所知,唯一可靠 且受支持的实现来自AutoDesk 本身,而且它们收费不菲为它...
  • 如果可以改格式,就改成SVG吧。
  • 我可以将文件转换为 svg 格式。这没有问题。转成svg后,我说的放大、缩小、平移、在我想要的地方添加请求链接应该怎么做?
  • 使用 javascript 和 CSS。但是,要求所有这些东西是一个过于宽泛的问题。

标签: html .net svg mapserver dwg


【解决方案1】:

如果您可以将 DWG 文件转换为 DXF(有多种工具可以做到这一点),那么您可以使用 MapServer 以兼容 Web 地图的方式对其进行渲染。查看 MS4W,了解在 Windows 上安装和配置 MapServer 的简单方法。由于您想要弹出窗口,我建议使用 Leaflet 作为客户端浏览器工具包,以提供平移、缩放、弹出窗口等与 MapServer 通信。找出 DWG 文件的坐标系可能是最难的部分。

如果将 DWG 与其他地图数据(道路等)集成很重要,请使用此方法。否则寻找更容易实现的东西。

【讨论】:

    【解决方案2】:

    有一些库可以让您轻松缩放和平移 SVG 图像。例如svg-pan-zoom

    至于链接,您需要做一些额外的工作。 IIRC DXF 文件没有您可以将鼠标悬停在上面的整个元素的概念。文件中的所有行都是离散对象。因此,如果我没记错的话,您可能需要将 SVG 加载到编辑器中,并在图表顶部添加与悬停区域相对应的元素。它们不需要可见。它们可以是透明的并且仍然可以悬停。您只需要添加交互性即可。即。

    • 可选择使用 CSS 添加悬停效果。
    • 添加鼠标悬停或单击事件处理以实现链接处理,或
    • 改用标准 SVG <a> 链接。

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多