Рекомендации / советы, необходимые для набора прикладных технологий - PullRequest
1 голос
/ 27 марта 2012

У меня есть идея для приложения с графическим интерфейсом, однако ему нужен набор технологий, которые я не использую часто (поэтому я немного новичок здесь, извиняюсь, если это глупо!).

Я хочу 3D-модель Земли (например, Google Earth, фактический вид будет похож на наложение ландшафта на картах Google (меня не волнуют дороги, только высота и положение)).Как и карты Google и Google Планета Земля, я хочу добавить свои собственные треки, местоположения и границы;и перемещать / перемещать / наклонять и т. д. *

Однако я не могу постоянно подключаться к Интернету.Поэтому перед запуском программы мне потребуется 1 раз загрузить terrain / geodata.(Можно ли сделать это как один набор данных kml? (Это даже правильно?) Я думаю, мне понадобится «локальный картографический сервер» вместо подключения к Интернету?)

Мне нужно будет использовать предварительно скомпилированный язык(желательно java) для написания программы. (Сценарии / Javascript неприемлемы) Могу ли я связать Java & KML с помощью существующей библиотеки?

Можно ли воспроизвести «окно карты» карт Google с помощьюизображение местности в стороннем программном обеспечении?(Могу ли я вытащить это из открытого источника где-нибудь?)

1 Ответ

2 голосов
/ 28 марта 2012

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

Давайте начнем с простой вещи: вы можете загрузить свои данные какKML, он будет отображаться как слой в Google Планета Земля, и вы сможете включать и выключать его.Вы также сможете отключить слои по умолчанию (дороги и т. Д.) Либо программно, либо через графический интерфейс.

Я бы использовал Google Earth (веб-плагин), связанный с приложением C #.Вы не хотите использовать старый API Google Earth COM.Начиная с GE 6 он был объявлен устаревшим, и работать с ним было действительно ужасно.Java также может работать, но я предпочитаю разработку на C #.В любом случае вы можете использовать способность языка напрямую обращаться к API Google Планета Земля.

Вот хороший пример (C #).Это GNU / GPL, поэтому он может служить основой для вашего приложения:

http://code.google.com/p/winforms-geplugin-control-library/

По сути, вы загружаете веб-страницу Google Планета Земля в элемент управления WebBrowser, который позволяет вам управлятьэто напрямую.На самом деле, интерфейс с веб-страницей является сложной частью (но все же проще, чем COM API!) - надеюсь, вы можете использовать библиотеку элементов управления, указанную выше, чтобы понять, как она работает.

Что касается вашего интернетапроблема с подключением: да - Google Планета Земля (даже веб-плагин) поддерживает кэширование.Точный объем кеша, который разрешен, составляет ~ 100 МБ.Что именно идет в кеше, является полной загадкой.Ограничение в 100 МБ не позволит вам продвинуться далеко вперед, но вы можете создавать большие кэши (до 2 ГБ) с помощью полного приложения Google Планета Земля.Эти кэши работают с плагином веб-браузера, вам просто нужно скопировать файл базы данных в каталог данных приложения Google Планета Земля (и переименовать файл, я думаю - плагин добавляет 0 или что-то к имени файла). Процесс созданиятайник прост - летайте вокруг рассматриваемой области на высоте, которую вы хотите.Существуют инструменты, помогающие автоматизировать это, например:

http://bx11.110mb.com/gecacher.htm

Обратите внимание, что кэширование данных Google не совсем то, что они хотели бы, чтобы вы делали.Поэтому имейте в виду, что вам необходимо полностью пересмотреть лицензионное соглашение, чтобы убедиться, что вы его не нарушаете ...

Удачи!Я работал с GE в большом приложении ~ 3 года;Это определенно забавная вещь, с которой можно работать и которая может сделать ваше приложение действительно выдающимся.

...