标记子描述和KmlDocument

时间:2016-05-15 15:20:02

标签: android osmdroid

我正在使用osmdroid bonuspack库。 我设置了标题,片段和子描述的标记,最后将其保存到kmldocument。 当我检索标记时,它会自动设置标题和片段,但不会设置子描述。 这是我的错吗?我能做些什么来克服这个? 感谢您的时间和帮助。

//loadMarker
filefile = new File(this.getActivity().getFilesDir(), "memory.kml");
kmlFile = new KmlDocument();
kmlFile.parseKMLFile(filefile);
kmlOverlay = (FolderOverlay)kmlFile.mKmlRoot.buildOverlay(mMapView, null, null, kmlFile);
mMapView.getOverlays().addAll(kmlOverlay.getItems());
//saveMarker
    addedMarker.setTitle("Title");
    addedMarker.setSnippet("Snippet");
    addedMarker.setSubDescription("SubDescription");
    kmlFile.mKmlRoot.addOverlay(addedMarker, kmlFile);
    kmlFile.saveAsKML(filefile);

1 个答案:

答案 0 :(得分:1)

这是因为OSMBonusPack引入的Marker子描述在地图API中并不常见。它不适合任何标准KML属性。

你能做什么:

1)不要使用它。仅使用说明。由于描述支持html标记,您可以使用换行符分隔: addedMarker.setSnippet(" Snippet
我的子描述");

2)将您的标记添加为KML文档中的新地标后:

kmlFile.mKmlRoot.addOverlay(addedMarker, kmlFile);

,将子描述添加到此KML地标作为扩展数据:

KmlPlacemark placemark = (KmlPlacemark)kmlFile.mKmlRoot.mItems.get(indexOfLatest);
placemark.setExtendedData("subdescription", marker.getSubDescription());