2016-07-27 8 views
0

Ich versuche eine einfache App zu erstellen, die die Informationen des ausgewählten Ortes auf der Google Karte anzeigt. Aus Android-Dokumentation habe ich festgestellt, dass es mit Place Picker getan werden kann. Ich folge this Tutorial von Google zur Verfügung gestellt.Wie implementiert man die Ortsauswahl in Android?

In dieser Dokumentation wird gesagt, dass ich folgenden Code für den Start der place picker verwenden muss.

und auch die folgende Methode zum Abrufen der Details des vom Benutzer ausgewählten Ortes gegeben.

Aber mein Problem ist Wo sollte ich diesen Code in meiner App platzieren? In meiner MapsActivity oder in der anderen Klassendatei?

Ich habe folgenden Code, der die Karte anzeigt.

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 


/** 
* Manipulates the map once available. 
* This callback is triggered when the map is ready to be used. 
* This is where we can add markers or lines, add listeners or move the camera. In this case, 
* we just add a marker near Sydney, Australia. 
* If Google Play services is not installed on the device, the user will be prompted to install 
* it inside the SupportMapFragment. This method will only be triggered once the user has 
* installed Google Play services and returned to the app. 
*/ 

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 

    // Add a marker in Sydney and move the camera 
    LatLng sydney = new LatLng(-34, 151); 
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 


} 
} 

Welche Änderungen sollte ich über Klasse machen, um die place picker aufzurufen. Und wenn das 1. Code-Snippet in der obigen Klasse platziert werden sollte, als wie es implementiert werden kann? Ich habe viele Male versucht, diese Art von Beispiel zu finden, kann aber keine finden, die mein Problem lösen kann. Insbesondere habe ich this Tutorial versucht. Aber es gibt viele Fehler.

Ich bin Anfänger in Android. Danke im Voraus!

Antwort

1

Das Tutorial im zweiten Link (truiton.com) funktioniert gut für mich. Sie müssen diesen Code

int PLACE_PICKER_REQUEST = 1; 
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); 

startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST); 

in einem Block setzen, die wie im Tutorial auf eine bestimmte Aktion ausführt und die Funktion innerhalb der Klasse. Sie können es in der MapsActivity-Klasse selbst verwenden, wenn es eine Benutzeraktionsoption enthält.

+0

können Sie den gesamten Code angeben? –

Verwandte Themen