Добавление слоя KML в приложение для карт Android

Недавно я начал работать в мире разработки Android, и я работаю над приложением, которое отображает карту с использованием API Google API SDK, это в значительной степени оригинальный пример, но немного отредактирован. Это работает, но я хочу сделать больше с ним. Мой вопрос:

Как вы добавляете к нему слой KML? Я не нашел много примеров, и никто из них не очень ясен. Я знаю, как это сделать с Javascript на сайтах, но не в Android.

Может ли кто-нибудь помочь?

Недавно Google добавила поддержку KML в свою утилиту lib. Вы можете создать экземпляр KMLLayer, как показано ниже:

KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext()); 

Или, если у вас есть поток (возможно, kml вам нужно на удаленном сервере):

 KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext()); 

После этого вы должны добавить слой к карте:

 layer.addLayerToMap(); 

Дополнительная информация о Google Maps KML Importing Utility . Библиотека находится здесь: утилита Google Maps Android API (вам нужна версия 0.4+)

ВНИМАНИЕ: В то время это бета-функция. На самом деле, похоже, вы не можете вносить какие-либо изменения в полигоны, изменять их стили и т. Д. …

Надеюсь, это помогло.

Если вы готовы перейти на карты OpenSteetMap, вы можете использовать osmdroid и OSMBonusPack для поддержки KML для: чтения, сохранения, отображения и стилизации.

Существует специальный учебник по KML.