【问题标题】:Google places API, get user addressesGoogle Places API,获取用户地址
【发布时间】:2015-12-30 23:53:11
【问题描述】:

我一直在努力使用 Google Places API,我需要使用 Address API。

我使用 autoCompleteplacePicker API 很好,但由于某种原因 Address API 无法正常工作。

我已经尝试过查看这个https://developers.google.com/android/reference/com/google/android/gms/identity/intents/Address
但我不知道如何将addApi() 用于地址 API。

如果有人可以提供一些示例代码或其他东西来帮助我入门,我们将不胜感激。

提前谢谢你。

【问题讨论】:

  • 你想通过获取用户的gps坐标来获取用户的地址吗?
  • 不,我只想打电话给requestUserAddress(),所以它会提示用户分享他的地址。

标签: android google-places-api


【解决方案1】:

要添加地址 API,您需要添加如下选项:

    Address.AddressOptions options = new  Address.AddressOptions(AddressConstants.Themes.THEME_LIGHT);
    mGoogleApiClient = new GoogleApiClient.Builder(this)
        .addApi(Address.API, options)
        .addConnectionCallbacks(this)
        .addOnConnectionFailedListener(this)
        .build();

那你就可以索取地址了:

UserAddressRequest request = UserAddressRequest.newBuilder().build();
        Address.requestUserAddress(mGoogleApiClient, request,
                REQUEST_CODE);

然后你得到结果:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
        case REQUEST_CODE:
            switch (resultCode) {
                case Activity.RESULT_OK:
                    UserAddress userAddress = UserAddress.fromIntent(data);
                    //DO SOMETHING
                    break;
                case Activity.RESULT_CANCELED:
                    break;
                default:
                    //NO ADDRESS
                    break;
            }
            break;
    }
}

并将其添加到您的 gradle 中:

 compile 'com.google.android.gms:play-services-identity:8.1.0'

【讨论】:

  • 非常感谢您的回复,但是有一个问题。我需要在FragmentActivity 中实现API 代码,这样我就可以调用enableAutoManage()。此外,在Activity 中实现您的代码会返回“一个活动必须用于地址 API”异常。
  • @MazenElian 你是对的,我不知道为什么 Address API 不喜欢 enableAutomanage(),在其他 API 工作正常,你可以在这个答案中找到解决方法stackoverflow.com/questions/30622906/…跨度>
猜你喜欢
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
相关资源
最近更新 更多