Android Place Picker:完整解释

时间:2017-06-20 17:20:54

标签: android

我无法理解如何使用地方选择器。 第一:我要下载PlacePicker吗? 我没有,我尝试编写此代码:PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();

IDE show" PlacePicker"红色,就像它无法解决它。如果我按ALT + ENTER,IDE建议"插入应用程序索引API代码"。我选择了这个,但似乎没有发生任何事情(可能是IDE更改了其他文件,但错误仍然存​​在)。

可能我对这个工具知之甚少。所以我需要解释它的使用。

2 个答案:

答案 0 :(得分:0)

我认为你没有遵循正确的指南。您必须先注册并获取密钥才能使用PlacePicker API。您可以执行相同的here

在此之后,将gradle依赖项compile 'com.google.android.gms:play-services-places:9.2.0'添加到您的应用级build.gradle文件并同步您的项目。

您可以在此之后使用PlacePicker API,如文档here所述。

答案 1 :(得分:0)

现在代码编译,但是,执行时,地图选择器只显示几秒钟然后消失。我需要在按下按钮时加载选择器。

public class Manage_Point extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_manage__point);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new Pick_coordinates(this));
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1 && resultCode == RESULT_OK) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
}}

public class Pick_coordinates implements View.OnClickListener {
private Activity activity;

public Pick_coordinates(Activity activity) {
    this.activity = activity;
}

public void onClick(View view) {
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
    try {
        activity.startActivityForResult(builder.build(activity), 1);

    } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
        e.printStackTrace();
    }
}}