Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.bro.gpsdemo;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.Point;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.net.Uri;
- import android.provider.Settings;
- import android.support.v4.app.FragmentActivity;
- import android.os.Bundle;
- import com.google.android.gms.maps.CameraUpdate;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.GoogleMapOptions;
- import com.google.android.gms.maps.MapFragment;
- import com.google.android.gms.maps.MapView;
- import com.google.android.gms.maps.SupportMapFragment;
- import com.google.android.gms.maps.UiSettings;
- import com.google.android.gms.maps.model.CameraPosition;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.LatLngBounds;
- import com.google.android.gms.maps.model.MarkerOptions;
- import com.google.android.gms.maps.model.VisibleRegion;
- public class MapsActivity extends FragmentActivity {
- private GoogleMap mMap; // Might be null if Google Play services APK is not available.
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_maps);
- setUpMapIfNeeded();
- mMap.setMyLocationEnabled(true);
- mMap.animateCamera(CameraUpdateFactory.zoomTo(12));
- final LocationManager manager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
- LocationListener listener = new LocationListener() {
- @Override
- public void onLocationChanged(Location location) {
- LatLng current = new LatLng(location.getLatitude(),location.getLongitude());
- mMap.moveCamera(CameraUpdateFactory.newLatLng(current));
- }
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- @Override
- public void onProviderEnabled(String provider) {
- }
- @Override
- public void onProviderDisabled(String provider) {
- }
- };
- manager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,listener);
- }
- @Override
- protected void onResume() {
- super.onResume();
- setUpMapIfNeeded();
- }
- /**
- * Sets up the map if it is possible to do so (i.e., the Google Play services APK is correctly
- * installed) and the map has not already been instantiated.. This will ensure that we only ever
- * call {@link #setUpMap()} once when {@link #mMap} is not null.
- * <p>
- * If it isn't installed {@link SupportMapFragment} (and
- * {@link com.google.android.gms.maps.MapView MapView}) will show a prompt for the user to
- * install/update the Google Play services APK on their device.
- * <p>
- * A user can return to this FragmentActivity after following the prompt and correctly
- * installing/updating/enabling the Google Play services. Since the FragmentActivity may not
- * have been completely destroyed during this process (it is likely that it would only be
- * stopped or paused), {@link #onCreate(Bundle)} may not be called again so we should call this
- * method in {@link #onResume()} to guarantee that it will be called.
- */
- private void setUpMapIfNeeded() {
- // Do a null check to confirm that we have not already instantiated the map.
- if (mMap == null) {
- // Try to obtain the map from the SupportMapFragment.
- mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
- .getMap();
- // Check if we were successful in obtaining the map.
- if (mMap != null) {
- setUpMap();
- }
- }
- }
- /**
- * This is where we can add markers or lines, add listeners or move the camera. In this case, we
- * just add a marker near Africa.
- * <p>
- * This should only be called once and when we are sure that {@link #mMap} is not null.
- */
- private void setUpMap() {
- mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement