سؤال

هل هناك طريقة في Android لتحميل ملفات KML من Google Earth إلى عنصر واجهة خريطة؟

على وجه التحديد، أتطلع إلى تحميل الأشكال المحفوظة التي تم إنشاؤها في Google Earth Soveop أداة تعريفية خريطة بسهولة قدر الإمكان. هل حاول أي شخص هذا من قبل؟

هل كانت مفيدة؟

المحلول

إنه سؤال قديم ولكن قد تكون هذه الإجابة من بعض الاستخدام إذا حدث شخص ما.

هل تقصد إضافة ملف 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.

يمكنك أيضا محاولة تحليل ملف KML إلى POJO باستخدام Jak و Jaxb ورسم تلك البيانات برمجيا. إذا كنت تستطيع الحصول عليها للعمل، فهو غير مؤلم نسبيا. https://labs.micromata.de/projects/jak.html.

نصائح أخرى

يبدو أنه يمكنك تحميل ملفات KML على الخريطة ولكن لا يوجد وصولا برنامجيا كما لو كنت تحصل من Libkml.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top