【发布时间】:2015-03-08 12:30:59
【问题描述】:
我正在开发一些 POC(概念证明)应用程序,以帮助我构建更大的应用程序。 我会直截了当。我只是想以用户当前位置为中心打开以地图为主要活动的应用程序。
当我尝试移动相机时,由于 NullPointerException,我的代码下方出现错误 - 因为 mLastLocation 为空。 同样,每当我的应用程序打开时,我希望它以用户的位置为中心。 我正在关注 Google Maps Android API v2 的最新版本(2014 年 12 月 8 日)。
我不想创建 GoogleMap 成员变量。
非常感谢任何建议。提前感谢帮助解决我的问题的人。
public class MapActivity extends Activity implements
OnMapReadyCallback, ConnectionCallbacks, OnConnectionFailedListener {
protected static final String TAG = "Application";
protected GoogleApiClient mGoogleApiClient;
protected Location mLastLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
buildGoogleApiClient();
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(mLastLocation.getLatitude(), mLastLocation.getLongitude()), 13)); //<-- NullPointerException
}
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
}
【问题讨论】:
标签: android google-maps android-studio google-maps-android-api-2