【发布时间】:2020-06-25 22:28:30
【问题描述】:
我目前正在开发用于制作地质图的应用程序。我的后端使用 Ruby on Rails,前端使用 React,数据库使用 Postgres。我正在使用 React Leaflet 来显示地图(将 Leaflet.js 抽象为 React 组件)。我从 OpenTopoMap 获取地图。这个应用程序是非商业的,我已经检查了他们的使用条款,以确保我没有违反。
我希望用户能够查看地图并能够在其上添加点和绘制多边形(我已经知道如何做这部分)。 一旦他们在地图上画完,我希望他们能够保存地图,并添加他们所做的任何添加。然后他们应该能够稍后重新打开并修改它。
我发现保存地图的唯一方法是保存为 .png,这意味着重新打开时无法对其进行编辑。
只要在重新打开地图时显示正确的地图区域,只保存点/多边形并在用户重新打开地图时重新渲染它们是一个可接受的解决方案,但我不确定我会怎么做存储这些数据。一个用户可以拥有许多地图,因此仅适用于单个地图实例的解决方案在这种情况下将不起作用。
我知道我在这里所描述的只是复制了许多其他地图应用程序的功能。一旦弄清楚这部分,我计划添加专门用于制作地质图的广泛功能。我没有在这里描述该功能,因为它与我当前的问题无关。
如何将地图以允许在重新打开时进行编辑的格式保存到 PostgreSQL?
【问题讨论】:
标签: ruby-on-rails postgresql leaflet openstreetmap react-leaflet