Нужна клиентская интерактивная 2D-карта мира:лучший пакет карт?Или лучшая библиотека графики/холста C++ для ее создания?

StackOverflow https://stackoverflow.com/questions/331355

Вопрос

Мне нужна двухмерная политическая карта мира, на которой я буду рисовать значки, текст и движущиеся линии.Пользователи будут взаимодействовать с картой, размещая и перемещая значки, а также увеличивая и уменьшая масштаб карты.

Интерфейс Google Maps не очень далек от того, что мне нужно, но это НЕ связано с Интернетом;это приложение Windows MFC, и я хочу поговорить с C++ API о карте, которая находится в приложении, а не в веб-интерфейсе.В идеале мне также не нужен отдельный сервер, и любой сервер ДОЛЖЕН работать локально (а не в Интернете).Какой готовый пакет карт или графическую библиотеку мне следует использовать для этого?У меня нет опыта графического программирования.

Это строго 2D, поэтому я не думаю, что что-то вроде Google Earth или WorldWind подойдет.Хорошая поддержка векторной графики была бы полезна, а простота рисования растровых изображений важна.

Все стандартные варианты кажутся веб-ориентированными.SDL — это почти все, что я знаю о гибком программировании на основе холста, но кажется, что создание моей собственной карты потребует много работы для решения, вероятно, распространенной проблемы.Есть ли что-нибудь более высокого уровня?Может быть, есть способ взаимодействовать с объектом Adobe Flash?Я совершенно невежественен.

Это было полезно?

Решение

Возможно:http://www.codeplex.com/SharpMap

Объекты карты ESRIhttp://www.esri.com/software/mapobjects/index.htmlESRI MapObjects LThttp://www.esri.com/software/mapobjectslt/index.html

Видетьhttp://www.esri.com/software/mapobjectslt/about/mo_vs_lt.htmlдля сравнения двух наборов функций MapObjects.

У ESRI может быть замена библиотекам MapObjects.

Другие советы

Вы можете расширить поиск, используя термин ГИС (Географическая информационная система). Я уверен, что будет легче. Есть много вещей на эту тему.

Вот страница, которую я нашел: http://www.ucancode.net/Gis -source-Code.htm

или: http://opensourcegis.org/

Возможно, вы захотите попробовать Mapnik C ++ / Python GIS Toolkit .

Вы можете взглянуть на виджет мрамора , который является частью мрамора KDE. проект. Для этого тоже есть двоичные файлы Windows, но они могут зависеть от Qt.

Да, у Marble также есть преимущество в том, что он представляет собой готовое решение в одном элементе управления (называемое «виджет» в технических терминах Qt).

Зависимость от Qt (которая является единственной зависимостью между прочим) также может рассматриваться как преимущество: будущая версия Qt лицензируется в соответствии с LGPL, поэтому даже если вы планируете использовать ее в проприетарном приложении, тогда не должно быть быть какие-то реальные заботы. И, конечно же, Qt и Marble являются кросс-платформенными и предоставляют API, который очень интуитивен и прост для понимания. В отличие от обычных ГИС-решений, Marble API и использование виджета ориентированы на людей, которые мало знают о ГИС. Поэтому его использование довольно легко понять, даже если вы боитесь технических терминов, используемых в ГИС.

Marble предлагает несколько интерфейсов для программирования:

Вы можете создавать свои собственные плагины Marble и рисовать внутри них, или вы можете создавать подклассы элемента управления MarbleWidget. Для простого приложения HelloWorld см .:

http://techbase.kde.org/Projects/Marble/MarbleCPlusPlus

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top