目前,地点选择器显示地图上标有所有地点的地图.地点列表位于屏幕底部.
如果我按地点类型过滤地点会很棒.
例如,地图和列表仅显示附近的出租车站.
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.view.Menu;
- import android.widget.Toast;
- import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
- import com.google.android.gms.common.GooglePlayServicesRepairableException;
- import com.google.android.gms.location.places.Place;
- import com.google.android.gms.location.places.ui.PlacePicker;
- public class PlacesAPIActivity extends AppCompatActivity {
- private int PLACE_PICKER_REQUEST = 1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_places_api);
- PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
- Intent intent;
- try {
- intent = builder.build(getApplicationContext());
- startActivityForResult(intent,PLACE_PICKER_REQUEST);
- } catch (GooglePlayServicesRepairableException e) {
- e.printStackTrace();
- } catch (GooglePlayServicesNotAvailableException e) {
- e.printStackTrace();
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.menu_place_api,menu);
- return true;
- }
- protected void onActivityResult(int requestCode,int resultCode,Intent data) {
- if (requestCode == PLACE_PICKER_REQUEST) {
- if (resultCode == RESULT_OK) {
- Place place = PlacePicker.getPlace(data,this) ;
- String toastMsg = String.format("Place: %s %s",place.getName(),place.getPhoneNumber());
- Toast.makeText(this,toastMsg,Toast.LENGTH_LONG).show();
- }
- }
- }
- }
我的XML:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
- android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
- android:background="@drawable/bg_gradient">