Плитки векторных карт на элементе управления Bing Map

Здравствуйте, я работаю над приложением на основе UWP карты. Я сейчас пользуюсь Raster Tiles данные, чтобы удалить плитки Bing Map по умолчанию. Хочу сейчас перейти к использованию Vector Tiles на контроле карты Bing. Для растровых плиток я знаю, что есть два пути:

  1. Установить данные плитки через HTTPTileSource
  2. Установить данные плитки через BitMapTileSource

Я хочу знать, как я могу реализовать Векторные плитки на элементе управления картой Bing. Векторные плитки, которые я получаю, имеют продолжение .pbf, Я должен нажать на URL и получить .pbf файл сейчас, как мне разместить плитку на карте?

2 ответа

Решение

Это будет нелегко, но можно сделать. Есть две ключевые вещи, которые вам нужно будет сделать. Первый - это анализ данных PBF во что-то, с чем вы можете работать. PBF - это двоичный формат файла. Вы можете найти спецификацию для этого формата файла здесь. Вот несколько проектов с открытым исходным кодом, которые могут читать файлы формата 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

Я столкнулся с той же проблемой. В итоге я написал свой собственный движок рендеринга векторной карты на C#. Он поддерживает спецификацию и стили векторной карты mapbox.

Репозиторий проекта содержит демонстрации для интеграции Mapsui и Gmap.Net, посмотрите его и дайте мне знать, что вы об этом думаете.

NY сравнение

Вы можете найти это здесь:

https://github.com/AliFlux/VectorTileRenderer

Другие вопросы по тегам