【问题标题】:How can I use the KML or geojson to display in List view?如何使用 KML 或 geojson 在列表视图中显示?
【发布时间】:2016-11-22 05:29:38
【问题描述】:

我一直在使用 osmbonus 库和 osmdroid 库教程。我已经在我的 sd 卡中下载了 KML 和 json 文件,现在我想在列表视图中列出所有信息。

喜欢:
名称 = xyz 学校
便利设施 = 学校
地址:街道 = abc
营业时间 : Su-Fr 22:00-04:00

kml 文件格式为:

<Placemark id="mId">
<Point>
<coordinates>85.0960383,27.6345759,0.0 </coordinates>
</Point>
<ExtendedData>
<Data name="addr:postcode"><value>44100</value></Data>
<Data name="name:en"><value>Palung Modern English Secondary School</value></Data>
<Data name="amenity"><value>school</value></Data>
<Data name="addr:street"><value>Tribhuvan Highway</value></Data>
<Data name="opening_hours"><value>Su-Fr 22:00-04:00</value></Data>
</ExtendedData>
</Placemark>

我已经使用这样的代码来存储文件

//file at storage/sdcard0/kml
            mKmlDocument.saveAsKML(mKmlDocument.getDefaultPathForAndroid("my_route.kml"));
// Loading and saving of GeoJSON content
            mKmlDocument.saveAsGeoJSON(mKmlDocument.getDefaultPathForAndroid("my_route.json"));

【问题讨论】:

  • 到目前为止你尝试过什么?读取 KML 文件并填充列表视图不起作用?

标签: android json openstreetmap kml osmdroid


【解决方案1】:

假设你了解 Android ListView 机制:

访问地标扩展数据。您的地标是您的 KML 文档中的独特功能,因此:

KmlPlacemark placemark = (KmlPlacemark)mKmlDocument.mKmlRoot.mItems.get(0);
HashMap<String, String> extendedData = placemark.mExtendedData;

然后解析它的扩展数据(如果需要示例,请参阅KmlFeature.getExtendedDataAsText 源代码),并用它填充您的 ListView。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-23
    • 2019-03-06
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2013-12-06
    • 1970-01-01
    相关资源
    最近更新 更多