Добавление слоя KML в приложение карт Android - PullRequest
3 голосов
/ 04 ноября 2010

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

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

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

Ответы [ 2 ]

4 голосов
/ 02 сентября 2015

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

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

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

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

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

layer.addLayerToMap();

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

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

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

2 голосов
/ 14 октября 2015

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

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

...