Как я могу отображать только имя при нажатии на маркер?
Я работал с osmdroidbonus, но на примере я должен отобразить полную информацию, такую как имя и описание. Я хочу отображать только имя, а не описание. И возможно ли сохранить значение mname в некоторой переменной?
//Get OpenStreetMap content as KML with Overpass API:
OverpassAPIProvider overpassProvider = new OverpassAPIProvider();
BoundingBox oBB = new BoundingBox(startPoint.getLatitude() + 0.25, startPoint.getLongitude() + 0.25,
startPoint.getLatitude() - 0.25, startPoint.getLongitude() - 0.25);
String oUrl = overpassProvider.urlForTagSearchKml("amenity="+school, oBB, 100, 100);
boolean ok = overpassProvider.addInKmlFolder(mKmlDocument.mKmlRoot, oUrl);
if (ok) {
//13.1 Simple styling
Drawable defaultMarker = ResourcesCompat.getDrawable(getResources(), R.drawable.marker_kml_point, null);
Bitmap defaultBitmap = ((BitmapDrawable) defaultMarker).getBitmap();
Style defaultStyle = new Style(defaultBitmap, 0x911010AA, 50.0f, 0x20CC1010);
//13.2 Advanced styling with Styler
KmlFeature.Styler styler = new MyKmlStyler(defaultStyle);
FolderOverlay kmlOverlay = (FolderOverlay) mKmlDocument.mKmlRoot.buildOverlay(map, defaultStyle, styler, mKmlDocument);
map.getOverlays().add(kmlOverlay);
BoundingBox bb = mKmlDocument.mKmlRoot.getBoundingBox();
if (bb != null) {
//map.zoomToBoundingBox(bb, false); //=> not working in onCreate - this is a well-known osmdroid issue.
//Workaround:
setInitialViewOn(bb);
/* String a = mKmlDocument.mKmlRoot.mName;
Log.d(TAG,a);*/
}
}
1 ответ
"Я хочу отображать только имя, а не описание". => На самом деле описание не задано. Устанавливается только подописание. Из тегов KML. Таким образом, возможное решение: после overpassProvider.addInKmlFolder и перед созданием наложений выполните циклический переход по меткам mKmlDocument.mKmlRoot и удалите Расширенные данные каждой метки (thePlacemark.mExtended Data = null).
msgstr "возможно ли сохранить значение mname в некоторой переменной?" => Пожалуйста, уточните вашу потребность.