Плитки векторных карт на элементе управления Bing Map
Здравствуйте, я работаю над приложением на основе UWP карты. Я сейчас пользуюсь Raster Tiles
данные, чтобы удалить плитки Bing Map по умолчанию. Хочу сейчас перейти к использованию Vector Tiles
на контроле карты Bing. Для растровых плиток я знаю, что есть два пути:
- Установить данные плитки через
HTTPTileSource
- Установить данные плитки через
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, посмотрите его и дайте мне знать, что вы об этом думаете.
Вы можете найти это здесь: