Google Places API,获取用户地址

Posted

技术标签:

【中文标题】Google Places API,获取用户地址【英文标题】:Google places API, get user addresses 【发布时间】: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(),所以它会提示用户分享他的地址。 【参考方案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 工作正常,你可以在这个答案中找到解决方法***.com/questions/30622906/…跨度>

以上是关于Google Places API,获取用户地址的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Places API 获取地址信息

在代码中获取地址自动完成(JavaScript API 的 Google Places 库)请求计数

如何有效检测 UI 文本输入以调用 google places API 以获取建议?

Google Places API Autocomplete 仅获取城市列表

用于我的 iPhone 应用程序的 Google Places API

如何从 Google Places API 获取地点描述