【问题标题】:Google Place API get latitude & longitude of placesGoogle Place API 获取地点的纬度和经度
【发布时间】:2018-04-19 18:01:19
【问题描述】:

如何从 Android 的 Google Place API 获取纬度和经度?我的代码如下所示..

AutocompleteFilter mAutocompleteFilter = new AutocompleteFilter.Builder().setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES).build();

PendingResult<AutocompletePredictionBuffer> results =
                    Places.GeoDataApi
                            .getAutocompletePredictions(mGoogleApiClient, constraint.toString(),
                                    mBounds, mAutocompleteFilter);

我也很难获得超过 5 个结果的结果。我使用this 链接作为参考。任何帮助将不胜感激。

【问题讨论】:

  • 如果超过 5 个结果出现 OVER-QUERY_LIMIT 错误,我通过在每次调用 google 的 api 之前延迟 0.7 秒来解决(特别说明 google geocode api)。
  • @Dr..Net:不。我的问题是另一个问题。

标签: android autocomplete google-places-api


【解决方案1】:

你应该这样做:

Places.GeoDataApi.getPlaceById(mGoogleApiClient, placeId)
    .setResultCallback(new ResultCallback<PlaceBuffer>() {

  @Override
  public void onResult(PlaceBuffer p) {
    if (p.getStatus().isSuccess()) {
      final Place mPlace = p.get(0);
      LatLng qLoc = mPlace.getLatLng();
      //you can use lat with qLoc.latitude;
      //and long with qLoc.longitude;
    }
    p.release();
  }
});

【讨论】:

  • 我认为一次位置搜索会花费我 2 次请求。是吗?
  • 不,我不这么认为。我很确定这是每个位置的单个请求。顺便说一句,您可以在这里找到更多信息developers.google.com/places/android-api/place-details
  • Places.GeoDataApi 现已弃用
猜你喜欢
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 2017-10-04
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多