Intereting Posts

Android: как загрузить KML

Может кто-нибудь, пожалуйста, скажите мне, есть ли способ загрузить kml-файл на карту google в android.

благодаря

Solutions Collecting From Web of "Android: как загрузить KML"

Пожалуйста, найдите здесь пример кода, который получает данные kml из google и рисует его на карте:

Как нарисовать путь на карте с помощью файла kml?

Несколько месяцев назад я искал аналогичную функцию, но не смог найти способ загрузить файл из SDCard – или даже с помощью поставщика контента. С тех пор я не смотрел.

Однако один метод, который я заметил, оказался полезным, поскольку я уже общался с веб-сервером

Получение карт для приема динамически созданного KML-файла?

Это позволило мне отправить KML из моего приложения на сервер (связь уже была на месте), сервер сохранил KML, назначил случайную строку и вернул ее в приложение, затем приложение передало ссылку на сервер в стиль:

final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=http://website.com/kml_gen.php?id=1kj312")); startActivity(myIntent); 

Сервер вернул список KML для приложения карты.

Обновление после комментариев ниже:

 final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=http://code.google.com/apis/kml/documentation/KML_Samples.kml")); startActivity(myIntent); 

Попробуйте запустить приведенный выше код – вы увидите, что при его запуске открывается приложение карты Google, и он запросит файл kml, в этом случае файл образцов из Google. Это карта с наложением, но теперь это приложение карты Google и больше не выполняется внутри вашего приложения.

Для этого решения вам нужно будет хранить ваш KML-файл на веб-сервере где-то – это имеет небольшую проблему, так как пользователю требуется подключение к данным (которое в любом случае понадобится карте), но если файл kml большой, а соединение замедляется там Возможно, задержка).

Вы упомянули, что у вас есть сервер, производящий некоторые динамические данные, а также некоторые статические вещи. Если статические вещи одинаковы для всех, и каждый раз, когда сервер создает некоторые данные, у меня возникает соблазн, чтобы веб-сервер создал один хорошо отформатированный документ KML, включая оба набора данных – приложение Google Maps, насколько мне известно, будет только Загрузите один файл KML с веб-сервера.

Другое решение, которое я использовал, было опубликовано выше – если у вас есть статические данные на телефоне (я бы пошел с БД с данными), создайте накладку, нарисующую элементы, а также запросите динамические результаты С сервера, добавьте их в пользовательский оверлей. Этот параметр будет означать, что вам нужно будет запрограммировать любую дополнительную функцию, например, поиск карты для местоположения, просмотр со спутника ….. Обязательно выполняйте операцию в отдельной нити, а не в потоке пользовательского интерфейса, особенно при создании больших Наложения или вы, вероятно, получите диалоговое окно Force Close / Wait.

Я использовал GPX-файлы на карте (Android 1.5), но загрузить KML или GPX нечего. Если он не был добавлен в более новые версии Android, я думаю, вы должны прочитать файл самостоятельно. Вот что я сделал 10 месяцев назад …