【问题标题】:Vector Map Tiles on Bing Map ControlBing 地图控件上的矢量地图图块
【发布时间】:2017-01-10 09:17:02
【问题描述】:

您好,我正在开发基于 UWP 地图的应用程序。我目前正在使用 Raster Tiles 数据来删除 Bing Map 默认图块。我现在想在 Bing 地图控件上使用 Vector Tiles。对于光栅瓷砖,我知道有两种方法:

  1. 通过HTTPTileSource设置平铺数据
  2. 通过BitMapTileSource设置平铺数据

我想知道如何在 bing 地图控件上实现 Vector Tiles。我得到的矢量图块的扩展名为.pbf。我现在必须点击 URL 并获取 .pbf 文件我如何在地图上放置图块?

【问题讨论】:

    标签: c# uwp bing-maps uwp-maps vector-tiles


    【解决方案1】:

    这并不容易,但可以做到。您需要做两件关键的事情。第一个是将 PBF 数据解析为您可以使用的内容。 PBF 是一种二进制文件格式。您可以找到此文件格式 here 的规范。下面是几个可以读取PBF文件格式的开源项目:

    https://github.com/motz-art/OSM-pbf-convert

    https://github.com/bertt/mapbox-vector-tile-cs

    https://github.com/OsmSharp/VectorTileToBitmapRenderer

    一旦您能够从 PBF 文件中读取矢量数据,您就需要从数据中生成图像。一旦你能够做到这一点,你就可以创建一个CustomMapTileDataSource

    我有一个如何在此处创建 CustomMapTileDataSource 的示例:https://code.msdn.microsoft.com/Adding-Opacity-and-WMS-cf6773f1/sourcecode?fileId=124374&pathId=1999022414

    【讨论】:

    • 感谢您的回答,我只有一个问题,您添加了有关 OSM pbf convert 和 OsmSharp(这也是一个块)的链接,我不会使用 OSM 矢量 pbf 文件。我会使用其他一些自定义的。那么您提供的前两个链接是否也适用于非 OSM pbf 文件?
    • 如果您的自定义数据是 PBF 格式,那么它应该可以正常工作。 OSM 应该使用标准的 PBF 格式。
    • 我查看了这些链接。原来 UWP 项目不支持 mapbox-Vector-Tile-CS,VectorTileToBitmaprender 正在使用 WPF 平台,因此它使用的类不可用,并且 OSM-pbf-convert 并没有真正解释如何使用它。能否请您提供一些见解。
    • 仅供参考:mapbox-vector-tile-cs 现在适用于 UWP (NuGet nuget.org/packages/mapbox-vector-tile/3.1.3)
    • 嗨@bertt,我刚刚使用您的库在C# 中实现了一个完整的矢量平铺渲染引擎。它还不支持 UWP,但结果很有希望。看看吧:github.com/AliFlux/VectorTileRenderer 感谢这个库。
    【解决方案2】:

    我遇到了同样的问题。所以我最终用 C# 编写了我自己的矢量图渲染引擎。它支持mapbox矢量瓦片规范和样式。

    项目存储库包含 MapsuiGmap.Net 集成的演示,请查看并告诉我您的想法。

    你可以在这里找到它:

    https://github.com/AliFlux/VectorTileRenderer

    【讨论】:

    • 我会的,谢谢!我已经等了很多年了。荣誉伙伴。它也适用于UWP 吗?
    • 还没有。但计划支持 UWP。
    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多