2010-03-15 7 views
4

Android에서 Google 어스의 KML 파일을지도 위젯에로드하는 방법이 있습니까?Android API가 KML 파일을 지원합니까?

Google 어스에서 만든 저장된 모양을로드하려면 가능한 한 쉽게지도 위젯을 덮어 씁니다. 아무도 전에 이것을 시도한 적이 있습니까?

답변

5

늙은 질문이지만 누군가가 우연히 발견되면이 대답이 유용 할 수 있습니다.

kml 파일을 프로그래밍 방식으로 앱 내부의 mapfragment에 추가 하시겠습니까? 그렇다면이 방법을 사용할 수 있습니다.

private void loadKml(File file) { 

    try(InputStream inputstream = new FileInputStream(file)) { 

     // Set kmllayer to map 
     // map is a GoogleMap, context is the Activity Context 

     KmlLayer layer = new KmlLayer(map, inputstream, context); 

     layer.addLayerToMap(); 



    // Handle these errors 

    } catch (FileNotFoundException e) { 

     e.printStackTrace(); 

    } catch (IOException e) { 

     e.printStackTrace(); 

    } catch (XmlPullParserException e) { 

     e.printStackTrace(); 
    } 

} 

단점은 kml 레이어가 표시되는 방법을 거의 제어 할 수 없다는 점입니다. 다음에서 전체 참조를 찾을 수 있습니다. https://developers.google.com/maps/documentation/android-api/utility/kml

또한 JAK 및 JAXB를 사용하여 POJO로 kml 파일을 구문 분석하고 해당 데이터를 프로그래밍 방식으로 그릴 수 있습니다. 그것이 작동하도록 할 수 있다면 그것은 상대적으로 고통이다. https://labs.micromata.de/projects/jak.html

-1

지도에서 KML 파일을로드 할 수 있지만 libkml에서 가져 오는 것과 같은 프로그램 방식의 액세스가없는 것처럼 보입니다.

+0

답변을 조금 연장 할 수 있습니까? 코드 스 니펫? – DannyThunder

관련 문제