【问题标题】:Getting name of google places API (Place Search) for my current location获取我当前位置的 google 地方 API(地方搜索)的名称
【发布时间】:2015-05-21 04:10:59
【问题描述】:

我正在制作一个 android 应用程序,在其中我将使用当前位置的名称在 wikipedia 上搜索其详细信息。例如如果我在杜莎夫人蜡像馆,首先我会得到当前位置坐标,然后在反向地理编码后,它的信息将在维基百科上搜索并显示在我的应用程序中。

我有我当前的位置坐标,但问题是当我对坐标进行反向地理编码时,我没有得到地名。例如对于坐标 33.651826, 73.156593,当我反向地理编码时,我得到 Park Road, Pakistan,其中地点的名称是 COMSATS Institute of Information Technology

我在名称节点的 Google Places API(地点搜索)中获得 COMSATS 信息技术学院。那么有没有一种方法可以让我使用 Google Places API 的名称节点作为我当前的位置名称,而不是使用任何地点搜索或其他功能?

或者有什么方法可以使用 lat lon 获取地名?

【问题讨论】:

    标签: android google-places-api reverse-geocoding location-based-service


    【解决方案1】:

    Google Play services 7.0 中引入的Places API for Android 提供了一个使用PlaceDetectionApi.getCurrentPlace() 获取current place 的API。该方法使用用户的当前位置,然后返回用户可能所在位置的列表。然后,您可以使用Place.getName() 检索位置名称并将其显示给用户。

    如果您希望用户从他们周围选择一个位置(而不是为他们选择最上面的结果),您可以使用Place Picker UI

    【讨论】:

      【解决方案2】:

      定义一个 GoogleApiClient 对象,然后调用这个方法

      private void guessCurrentPlace() {
      PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi.getCurrentPlace( mGoogleApiClient, null );
      result.setResultCallback( new ResultCallback<PlaceLikelihoodBuffer>() {
          @Override
          public void onResult( PlaceLikelihoodBuffer likelyPlaces ) {
      
              PlaceLikelihood placeLikelihood = likelyPlaces.get( 0 );
              String content = "";
              if( placeLikelihood != null && placeLikelihood.getPlace() != null && !TextUtils.isEmpty( placeLikelihood.getPlace().getName() ) )
                  content = "Most likely place: " + placeLikelihood.getPlace().getName() + "\n";
              if( placeLikelihood != null )
                  content += "Percent change of being there: " + (int) ( placeLikelihood.getLikelihood() * 100 ) + "%";
              mTextView.setText( content );
      
              likelyPlaces.release();
          }
      });
      }
      

      参考:http://code.tutsplus.com/articles/google-play-services-using-the-places-api--cms-23715

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-08
        • 2016-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-03
        相关资源
        最近更新 更多