diff options
Diffstat (limited to 'app/src/main/java/org')
-rw-r--r-- | app/src/main/java/org/traccar/manager/MainActivity.java | 57 |
1 files changed, 14 insertions, 43 deletions
diff --git a/app/src/main/java/org/traccar/manager/MainActivity.java b/app/src/main/java/org/traccar/manager/MainActivity.java index 7b6e202..68d5135 100644 --- a/app/src/main/java/org/traccar/manager/MainActivity.java +++ b/app/src/main/java/org/traccar/manager/MainActivity.java @@ -1,65 +1,36 @@ package org.traccar.manager; -import android.support.v4.app.FragmentActivity; import android.os.Bundle; +import android.support.v4.app.FragmentActivity; +import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; -public class MainActivity extends FragmentActivity { +public class MainActivity extends FragmentActivity implements OnMapReadyCallback { - private GoogleMap mMap; // Might be null if Google Play services APK is not available. + private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - setUpMapIfNeeded(); + // Obtain the SupportMapFragment and get notified when the map is ready to be used. + SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() + .findFragmentById(R.id.map); + mapFragment.getMapAsync(this); } @Override - protected void onResume() { - super.onResume(); - setUpMapIfNeeded(); - } + public void onMapReady(GoogleMap googleMap) { + map = googleMap; - /** - * 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(); - } - } + LatLng sydney = new LatLng(-34, 151); + map.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); + map.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } - /** - * 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")); - } } |