문제

Android에는 Google 어스에서 KML 파일을 맵 위젯에로드하는 방법이 있습니까?

구체적으로 Google Earth에서 생성 된 저장된 모양을 최대한 쉽게 맵 위젯을 추월하려고합니다. 아무도 전에 이것을 시도한 적이 있습니까?

도움이 되었습니까?

해결책

그것은 오래된 질문이지만 누군가가 그것을 우연히 발견하면이 대답은 약간의 사용 일 수 있습니다.

프로그래밍 방식으로 앱 내부의 MAPFRAGMENT에 KML 파일을 추가한다는 의미입니까? 그렇다면이 방법을 사용할 수 있습니다.

 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를 사용하여 KML 파일을 pojo로 구문 분석하고 그 데이터를 프로그래밍 방식으로 그릴 수도 있습니다. 당신이 그것을 작동시킬 수 있다면 그것은 상대적으로 고통스럽지 않습니다. https://labs.micromata.de/projects/jak.html

다른 팁

맵에 KML 파일을로드 할 수 있지만 libkml에서 얻을 수있는 프로그램 액세스는 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top