2016-05-14 5 views
-2

Ich habe Marker auf einer Karte für bestimmte Restaurants. Auf diesen Markierungen habe ich die Telefonnummern dieser Restaurants gespeichert. In einer anderen Aktivität, die angezeigt wird, wenn der Benutzer auf einen bestimmten Marker klickt, befindet sich ein Anrufsymbol in der Standard-Aktionsleiste. Ich möchte, dass meine Android-Anwendung die Telefonnummer des Restaurants nimmt, auf das der Benutzer geklickt hat, um zu der anderen Aktivität weitergeleitet zu werden, und wenn der Benutzer auf das Anrufsymbol klickt, um automatisch die Nummer für dieses Restaurant zu wählen.Eine Hilfe ...Informationen von Marker erhalten und es in einer Absicht verwenden

Antwort

0

Sie können einen onMarkerClick() Listener zu Ihrer Methode hinzufügen. Hier ein Beispiel:

public class MarkerInfoActivity extends android.support.v4.app.FragmentActivity implements OnMarkerClickListener 
{ 
    private Marker myMarker;  

    private void setUpMap() 
    { 
     googleMap.setOnMarkerClickListener(this); 

     myMarker = googleMap.addMarker(new MarkerOptions() 
       .position(latLng) 
       .title("Restaurant 1") 
       .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); 
    } 

    @Override 
    public boolean onMarkerClick(final Marker marker) { 

     if (marker.equals(myMarker)) 
     { 
      // Intent to go to phone activity 
     } 
    } 
} 

Sie könnten einen Array haben, die alle Informationen dieser Markierung speichert, und darauf zugreifen, wenn diese Markierung geklickt wird. Wenn Sie darauf klicken, analysieren Sie die Nummer (und andere Werte) auf eine andere Absicht.

+0

Dank lassen Sie mich versuchen – lorrainemutheu

+0

Ich habe mehrere Marker, so dass diese Methode als eine Herausforderung erweist – lorrainemutheu

+0

Es könnte noch funktionieren. Fügen Sie einfach verschiedene Fälle in die 'if'-Anweisung von' onMarkerClick() 'ein. – AkashBhave

Verwandte Themen