2017-01-23 2 views
1

Meine Anwendung markierten Punkte auf der Karte, ich möchte mit jedem neuen Zusatz des Markers ein Fenster zur Eingabe des Titels für den Marker anzeigen. Nirgends kann ich einen Leitfaden finden, wie kann ich so etwas tun, jemand hat eine Idee? Currenlty ich kann nur einfache Titel so etwas wie dieses machen:Hinzufügen des Titels für jeden neuen Marker

MarkerOptions options = new MarkerOptions() 
     .position(position) 
     .title("something"); 

aber es fügt automatisch jedem Punkt den gleichen Namen.

+0

Bitte erklären Sie etwas mehr. – W4R10CK

Antwort

1

Eine EditText Alarm Dialog für die Eingabe. In der OnMapClickListener onMapClick-Methode öffnen Sie einen Alarmdialog für die Eingabe.

AlertDialog.Builder alertDialog=new AlertDialog.Builder(MapsActivity.this); 
     alertDialog.setTitle("Marker Title !"); 
     alertDialog.setMessage("Enter the title"); 
     final EditText editText=new EditText(MapsActivity.this); 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.MATCH_PARENT, 
       LinearLayout.LayoutParams.MATCH_PARENT); 
     editText.setLayoutParams(lp); 
     alertDialog.setView(editText); 


     alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
      String name=editText.getText().toString(); 
       if (name.trim().compareTo("")==0) { 
        Toast.makeText(MapsActivity.this, "Enter the tile !", Toast.LENGTH_SHORT).show(); 
       } 

       else{ 
    MarkerOptions options = new MarkerOptions() 
     .position(latLng) 
     .title(name); 
       } 
      } 
     }); 
alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 

      } 
     }); 
     alertDialog.show(); 
+0

Ich muss es auch zur Liste hinzufügen, also fügte ich die Zeile hinzu: 'points.add (x, xMarker = xMap.addmarker (options));' ---> sonst, aber wenn ich diese Liste noch einmal verwenden wollte, sind es auch die Namen von editText in dieser Liste? oder ich brauche etwas mehr? – rambo

0

Verwendung spezifischer LatLng Titel dieser Marker zu zeichnen, geben Titel zu jedem neuen Latlng:

googleMap.addMarker(new MarkerOptions() 
      .position(your_latLng_for_everyMarker) 
      .draggable(false) 
      .title("something")); 
+0

aber ich möchte, dass, wenn Sie eine neue Markierung hinzufügen, die Anwendung ein Fenster mit edittext angezeigt und den Titel vom Benutzer – rambo

+0

herunterladen Tun Sie dies zur Laufzeit? Hattest du mehr Code zum Posten? – W4R10CK

+0

Ich möchte mit dem Codieren beginnen, aber ich weiß nicht, was ich am Anfang tun soll – rambo

Verwandte Themen