我已經在我的Android項目中集成了Google Maps
。我在設備上看到了地圖的視圖。我想將標記設置爲當前位置。我做了以下的編碼,但它給了我上線43 Null Pointer Exception
是以下行試圖在我的谷歌地圖上的當前位置設置標記給Nullpointer異常
mMap.addMarker(new MarkerOptions() .position(new LatLng(location.getLatitude(), location.getLongitude())) .title("Hello world"));
我的代碼如下所示。請指導我一步一步瞭解發生了什麼問題。
public class location extends Activity implements LocationListener {
private GoogleMap mMap;
LocationManager locationManager;
private static final long MIN_TIME = 400;
private static final float MIN_DISTANCE = 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.map_location);
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.the_map)).getMap();
mMap.setMyLocationEnabled(true);
//mMap.addMarker(new MarkerOptions());
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, MIN_TIME, MIN_DISTANCE, this);
Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
mMap.addMarker(new MarkerOptions()
.position(new LatLng(location.getLatitude(), location.getLongitude()))
.title("Hello world"));
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 10);
mMap.animateCamera(cameraUpdate);
// locationManager.removeUpdates(this);
}