2017-01-10 4 views
0

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

  1. Набор плитки данных через набор плитки данных HTTPTileSource
  2. через BitMapTileSource

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

ответ

3

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

+0

Спасибо за ответ, у меня только один вопрос, вы добавили ссылки о OSM PBF новообращенного и OsmSharp (который также является самородок) Я не буду использовать файлы pbf вектор OSM. Я бы использовал некоторые другие пользовательские. Итак, первые две ссылки, которые вы указали, будут применяться также к файлам OSM pbf? –

+0

Если ваши пользовательские данные находятся в формате PBF, тогда он должен работать нормально. OSM должен использовать стандартный формат PBF. – rbrundritt

+0

отлично! спасибо за всю помощь –

Смежные вопросы