0

我有一个使用 GMap.NET 的 C# 桌面应用程序,它很棒,但我的应用程序必须在没有 Internet 的情况下工作。我想,我需要一个用于 GMap.NET 的 PostgreSQLProvider。

因此,我为俄罗斯联邦下载了一个 .osm 文件,创建了一个带有 postGIS 扩展的 postgresql 数据库,然后执行了使用osm2po生成的查询(它很大:1,2 Gb)

现在我有一个数据库,可以用QGis可视化。我想在我的 C# 应用程序中可视化这个数据库地图,以处理用户鼠标按钮点击并在地图上绘制一些对象。

我怎样才能做到这一点?也许我应该使用另一个框架?我需要从地图中获取鼠标按钮单击处理函数中的地标并在地图上绘制对象。

4

2 回答 2

1

您可以使用 GMAP.NET 的演示版预取所需的地图。然后抓取预取生成的数据库并在您的应用程序中使用它。它位于

C:\Users\USERNAME\AppData\Local\GMap.NET\TileDBv5\en\Data.gmdb

数据库在 SQLite 中,但我认为您可以将其转换为您想要的任何 DBMS。

于 2015-05-05T16:50:57.803 回答
0

我发现,问题在哪里。osm2po 为我生成矢量图,但 GMap 仅可视化栅格。解决方案是使用另一个框架,例如 SharpMap,它可以处理来自数据库的矢量地图。当然,我可以为 GMap 编写自己的 PgSQLProvider,但是我只有一个月的时间,还有很多其他的工作。

于 2015-05-05T16:26:18.360 回答