适用于 Android 的 Google Place API:无法使用 Place Picker 的选择器选择地点

Posted

技术标签:

【中文标题】适用于 Android 的 Google Place API:无法使用 Place Picker 的选择器选择地点【英文标题】:Google Place API for Android: can't select place with the picker of Place Picker 【发布时间】:2016-11-16 13:35:56 【问题描述】:

我添加到我的 android 应用程序 Place Picker。当您知道要选择并填写研究栏的地点的地址时,它就可以工作。 但我希望用户有可能在使用红色选择器时选择他选择的位置,这部分不起作用。

当您使用红色选择器选择一个地点并点击“选择此地点”时,例如here。

我们无法选择地点。 “选择”按钮显示为灰色。喜欢你可以观察here。

当然,我已经在 Google Developer Console 上启用了 Google Place Android API 和 Google Maps Android API。

我在 *** 上搜索了原因(和解决方案)。我发现一些帖子说要把我们可以在谷歌开发者控制台上找到的 API 密钥放在里面:

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

我做到了,但没有积极的结果。

然后我再次尝试从头开始执行 Place Picker,但没有成功。

这是我使用 Place Picker 的代码:

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_edit_location);
    Button chooseLocationButton = (Button) findViewById(R.id.choose_location);
    PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder();
    try 
        final Intent intent = intentBuilder.build(this);
        chooseLocationButton.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View v) 
                startActivityForResult(intent, REQUEST_PLACE_PICKER);
            
        );

     catch (GooglePlayServicesRepairableException e) 
        e.printStackTrace();
        // TODO handle exception!
     catch (GooglePlayServicesNotAvailableException e) 
        e.printStackTrace();
        // TODO handle exception!
    


@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) 
    if (requestCode == REQUEST_PLACE_PICKER) 
        if (resultCode == RESULT_OK) 
            Place place = PlacePicker.getPlace(data, this);
            String toast = String.format("Place: %s", place.getName());
            longitude = place.getLatLng().longitude;
            latitude = place.getLatLng().latitude;
            Toast.makeText(this, toast, Toast.LENGTH_LONG).show();
        
    

我没有找到更多的解决方案来尝试在互联网上。这就是我写这个问题的原因。有人知道为什么这不起作用吗?

谢谢。

【问题讨论】:

【参考方案1】:

我认为您尚未在 API 控制台中启用“Google Places API for Android”,请启用它。我曾经遇到过同样的问题。我使用上述解决方案解决了。

【讨论】:

以上是关于适用于 Android 的 Google Place API:无法使用 Place Picker 的选择器选择地点的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 的 Google+ 平台 - NoClassDefFoundError:com.google.android.gms.samples.plus.SignInActivity

适用于 Android 的 Google 登录 - 发布与调试

为啥使用 KML 数据检索适用于 Android 的 Google 路线不再有效? [复制]

如何设置适用于 Android 的 Google Cloud Messaging?

获取适用于 Android 的 Google Places API 密钥

Flurry 适用于没有 Google Play 服务的 Android 设备