使用 Places API 获取用户当前的经纬度
Posted
技术标签:
【中文标题】使用 Places API 获取用户当前的经纬度【英文标题】:Get user's current Lat Long using Places API 【发布时间】:2018-09-23 12:48:48 【问题描述】:是否可以使用 Places API 而不是 Maps API 获取用户当前的经纬度?我确定有一个过程涉及到用户当前的经纬度,但有可能得到它们吗?
目前我正在创建使用 Places API 的活动,现在我需要用户当前的经纬度,我认为只为该功能添加 Maps API 是不值得的。
【问题讨论】:
你也不需要。使用内置的 LocationManager,或者使用 FusedLocationProvider。获取位置不需要其他两个 API。 【参考方案1】:如果您的要求是只获取当前位置的经纬度,那么您不需要使用任何 Api。您可以按照以下教程在不使用 Place Api 的情况下实现它 https://www.androidhive.info/2015/02/android-location-api-using-google-play-services/
如果您仍想使用 Place Api,那么您需要使用Places.PlacesDetectionApi.getCurrentPlace
方法创建一个PendingIntent
,该PendingIntent
返回一个PlaceLikelihoodBuffer
。首先定义 GoogleApiClient 并使用以下代码获取位置 -
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().getLatLng()+ "\n";
if( placeLikelihood != null )
content += "Percent change of being there: " + (int) ( placeLikelihood.getLikelihood() * 100 ) + "%";
mTextView.setText( content );
likelyPlaces.release();
);
欲了解更多信息,请参阅这篇文章 - https://code.tutsplus.com/articles/google-play-services-using-the-places-api--cms-23715
【讨论】:
以上是关于使用 Places API 获取用户当前的经纬度的主要内容,如果未能解决你的问题,请参考以下文章
在 Google Places API 中嵌入当前位置(经度和纬度)
使用谷歌地图中的纬度和经度获取地点详细信息或建筑物名称(Places API ?)
Google Places Autocomplete - 如何获取纬度和经度?
用于我的 iPhone 应用程序的 Google Places API