我已经经历的Android开发者文档,试图找出吨如何获得当前位置,特别是https://developer.android.com/training/location/retrieve-current.html获取最后已知的位置与谷歌播放服务
当我创建android的一个新项目,并选择映射模板在onCreate方法中有代码,然后还有一个onMapReady方法。
首先,只需确认下面的代码将地图放在屏幕上?如果是这样,那么只需要一个方法来允许操作地图?
SupportMapFragment mapFragment = (SupportMapFragment) etSupportFragmentManager()
.findFragmentById(R.id.map); mapFragment.getMapAsync(this);
在文档重:获取当前位置有信息回复:建筑以GoogleApiClient如
// Create an instance of GoogleAPIClient.
if (mGoogleApiClient == null) {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
了在该文档中指定的其他方法在onStart,和的onStop onConnected。这一切都有道理,但做一个非常基本的获取当前位置的应用程序,我仍然使用SupportMapMapFragment mapFragment =(SupportMapFragment)....从onCreate生成地图? onMapReady函数还有必要吗?哪里是创建GoogleApiClient实例的最佳位置?
在随后的文档页面也有关于得到一次与
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
连接,但我只是不知道在哪里应该定义的当前位置设置信息。
终于在Android Studio中的地图模板默认类定义为:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback
但在它被定义为谷歌文档:
公共类MainActivity扩展ActionBarActivity实现 ConnectionCallbacks,OnConnectionFailedListener
这个类延伸到哪个Activity上吗?
谢谢。
嗨。感谢那。我的问题是onLocationChanged是否被调用,以及它被调用的地方。在Android文档有一个部分重新: – Mike
嗨Avinash。感谢那。我的问题是onLocationChanged是否被调用,以及它被调用的地方。在android文档https://developer.android.com/guide/topics/location/strategies.html中,它通过使用LocationManager&LocationListener - 但这显然不是用在你的(或我的)代码中的。我也只是不确定这是做什么:LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mLocationRequest,this);干杯。 – Mike