当前位置: 首页 > 知识库问答 >
问题:

Google放置API Android resultCallback未启动

百里星纬
2023-03-14

我使用的是Google Places API for Android,但似乎无法从PendingResult中获取ResultCallback来激发。这里是我的代码(除了在对话框中之外,与https://github.com/googlesamples/android-play-places/tree/master/placeComplete的示例代码基本相同)

adapter = ((MainActivity) getActivity()).getAdapter();
googleApiClient = ((MainActivity) getActivity()).getGoogleApiClient();

final AutoCompleteTextView tvCity = new AutoCompleteTextView(getActivity());
tvCity.setAdapter(adapter);

tvCity.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        final PlacesAutoCompleteAdapter.PlaceAutocomplete item = adapter.getItem(position);
        final String placeId = String.valueOf(item.placeId);

        PendingResult<PlaceBuffer> placeResult = Places.GeoDataApi
                .getPlaceById(googleApiClient, placeId);
        placeResult.setResultCallback(new ResultCallback<PlaceBuffer>() {
            @Override
            public void onResult(PlaceBuffer places) {

            if (places.getStatus().isSuccess()) {
                    final Place place = places.get(0);
                    cityCoordinates = place.getLatLng();

                } else {
                    dialog.dismiss();
                    Toast.makeText(getActivity(), "There was an error, please try again", Toast.LENGTH_SHORT).show();
                    return;

                }
                dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
                places.release();
            }
        });
    }
});

共有1个答案

章稳
2023-03-14

我也遇到了同样的问题,因为我缺少允许API访问Google基于Web的服务的权限

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
 类似资料:
  • 我试图运行Google Cloud Appengine的入门示例(https://github.com/googleCloudplatform/get-started-java/tree/master/appengine-standard-java8/helloworld)。尽管部署工作正常,并且在Google Cloud中运行,但我无法为本地Java appengine模拟器启动它。Google

  • 这有点奇怪,我遵循Google places API为我的android应用程序添加了自动完成功能。谷歌为Android自动完成放置API请求拒绝,即使使用正确的API键。我甚至尝试与JSON客户机进行检查,并请求GET/POST仍然是相同的错误,因为我确信我的代码遵循了相应的google api自动完成集成。我还没有找到解决错误的任何解决方案。一些答案建议删除带有place_id的传感器。我不知

  • 当我试图将一个活动发布到Google时,我得到一个错误: 我知道以前有人问过这个问题,但我的错误告诉我一个不同的信息。我还在控制台中启用了Google域API。我使用的是Gmail帐户,我还收到以下范围的圈和联系人信息: https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feedshttps://www

  • 我在jQuery移动应用程序中嵌入了一个谷歌地图。在iPhone上查看地图并单击信息窗口时,我会出现以下行为: 如果单击需要将地图向左平移的信息窗口,则信息窗口的右侧会从屏幕的右侧脱落 所有infoWindows的大小都正确,但地图根本没有平移到正确的位置。我使用以下代码放置地图: 我需要弄清楚,当单击使地图向左平移的标记时,如何使信息窗口正确平移。

  • 我正在实施谷歌标签管理器,并希望记录在自定义ASP页面上的电子商务结束金额。不幸的是,这必须在页面的底部。在这里和其他地方找到了一些解决方案之后,我遗漏了一些东西,可能是基本的,因为我就是无法让它工作。Google Analytics中启用了增强型电子商务,GTM在页面加载时正确运行GA,但在事务标签上未正确运行GA。我甚至在阅读了GTM触发器后,将其从所有页面切换到DOM就绪状态,这将有助于处理

  • 我已经设置了一个谷歌工作表,它附带了一个脚本,运行一个函数来提取chromebook设备信息,除了我感兴趣的两个字段,“cpuStatusReports”和“diskVolumeReports”之外,效果非常好。脚本记录器确实显示了正确的信息,但我的工作表单元格值设置为例如 {cpuUtilizationPercentageInfo=[Ljava.lang.Object;@d151552,cpuT