我正在使用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);
答案 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());