2016-11-21 2 views
0

Ich habe mit Osmdroidbonus gearbeitet, aber mit dem Beispiel muss ich vollständige Informationen wie Name und Beschreibung anzeigen. Ich möchte nur den Namen nicht die Beschreibung anzeigen. Und ist es möglich, den Wert von mname in einer Variablen zu speichern?Wie könnte ich nur Namen anzeigen, wenn ich den Marker drücke?

//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);*/ 
     } 
    } 

Antwort

0

"Ich möchte nur den Namen und nicht die Beschreibung anzeigen." => Tatsächlich ist die Beschreibung nicht festgelegt. Nur die Unterbeschreibung wird festgelegt. Von KML-Tags. So eine mögliche Lösung: nach overpassProvider.addInKmlFolder, und vor dem Erstellen der Überlagerungen, durchlaufen Sie mKmlDocument.mKmlRoot Ortsmarken, und entfernen Sie die erweiterten Daten jeder Ortsmarke (thePlacemark.mExtendedData = null).

"Ist es möglich, den Wert von mname in einer Variablen zu speichern?" => Bitte klären Sie Ihre Bedürfnisse.

+0

können Sie die Lösung genauer erklären. Ich beginne gerade mit osmdroid und osmbonus pack. "ist es möglich, den Wert von mname in einer Variablen zu speichern?" => Bitte klären Sie Ihre Bedürfnisse. Ich möchte den Namen und die Beschreibung speichern, die angezeigt wird, wenn auf den Marker in einer Zeichenfolge-Variable angetippt wird, damit ich es manipulieren konnte. – rahullab

+0

Sie sind bereits in String-Variablen gespeichert, und Sie können sie bereits manipulieren ... Versuchen Sie, genauer zu erläutern, was Sie erreichen möchten. – MKer

Verwandte Themen