Плагин карты для приложения MFC - PullRequest
2 голосов
/ 27 мая 2009

Я хочу отобразить карту в приложении MFC (Visual Studo 2008 с MFC Feature Pack). С макушки головы у меня следующие требования:

  • Я должен иметь возможность добавлять свои собственные маркеры (обычные позиции широты и долготы), желательно с разными цветами / значками, чтобы можно было различать разные типы маркеров.
  • Если данные карты извлекаются из онлайн-источника, они должны иметь возможность кэширования, то есть я могу предварительно загрузить карты для области с определенным (или несколькими) уровнями масштабирования и затем переключиться на " автономный режим ". В качестве альтернативы все данные карты устанавливаются вместе с приложением.
  • Для пользователя должны быть возможны стандартные операции, такие как увеличение / уменьшение масштаба и панорамирование.
  • Пользователь должен иметь возможность выбирать мои маркеры, предпочтительно перетаскивая прямоугольник вокруг них.
  • Поскольку все приложение написано на C ++ / MFC, я не хочу использовать среду выполнения .NET для этого плагина.
  • Это не должно стоить целое состояние.

В настоящее время я использую плагин ActiveX под названием «ESRI MapObjects LT2», который может каким-то образом делать все это, но это очень утомительно для реализации, кажется, что разработка прекратилась в то время, когда была доступна Visual Studio 6 и материал карты либо очень простой, либо очень дорогой.

Я думал об использовании Карт Google или Google Планета Земля, но думаю, что они на самом деле не поддерживают использование не-веб-приложений. Я обнаружил, что ArcView является своего рода преемником плагина, который я использую в настоящее время, но я не думаю, что принадлежу целевой аудитории, поскольку функциональность, которую он предлагает, намного больше, чем мне нужно. Также я не нашел никакой информации о ценах.

Ответы [ 3 ]

1 голос
/ 28 мая 2009

Я написал приложение для геокэшинга с открытым исходным кодом (оно на с ++), которое отображает карты, источник находится по адресу:
http://code.google.com/p/gpsturbo/

Он использует мой собственный рендеринг, но вы можете разорвать карту, если хотите. Он отображает карту с использованием плиток Google (и кэширует плитки для автономного использования), а также карты GPS в формате Garmin, также есть средство визуализации формата Openstreetmap.

1 голос
/ 21 июля 2009

Если вы не привязаны к Google Maps, вы можете выбрать OpenStreetMap.

Существует несколько известных приложений для рендеринга карт OSM:

Первые две карты рендеринга напрямую, последняя использует плитки OpenStreetMap.org.

Вы можете кэшировать столько плиток или данных, сколько хотите, вы не обязаны делать это.

1 голос
/ 27 мая 2009

Пересмотрите Google, если у вас есть доступ в Интернет. Вы можете сделать так, чтобы экземпляр браузера IE отображался в рамке вашего приложения. Я считаю, что вы можете использовать элемент управления ActiveX. Также в Google Планета Земля есть способ встроить себя в веб-страницу и, возможно, в приложение.

Другой вариант - Global Mapper , который далеко не так хорош, как Google Maps или Google Earth.

Мы использовали ESRI в течение длительного времени, прежде чем отказались от него из-за нехватки производительности и отсутствия поддержки. Было очень тяжело заплатить 10 тысяч долларов за лицензию, а потом сказать, что им нужно еще 2 тысячи долларов, чтобы мы могли реально использовать эту вещь. Да, а затем еще $ 2k, чтобы добавить дополнительную функциональность. Даже когда это не сработало, их поддержка была мрачной до неуверенности.

...