summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Beattie <mike@ethernal.org>2019-09-19 10:26:40 +1200
committerMike Beattie <mike@ethernal.org>2019-09-19 10:26:40 +1200
commitfaa5abe0bc9aa071ffa55534a24638bc0972e3c2 (patch)
tree6ef9e839efad9f31867e5d94002c324bff136d6e
parent3af69b00a94b473dbc98fcf6d26fa90b66065e8b (diff)
Update Google Maps API usage.
Signed-off-by: Mike Beattie <mike@ethernal.org>
-rw-r--r--altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java53
1 files changed, 31 insertions, 22 deletions
diff --git a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java
index 8d3a662e..29979a07 100644
--- a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java
+++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/AltosMapOnline.java
@@ -99,8 +99,8 @@ class RocketOnline implements Comparable {
}
}
-public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener, AltosMapTypeListener {
- public SupportMapFragment mMapFragment;
+public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener, OnMapReadyCallback, AltosMapTypeListener {
+ public AltosOnlineMapFragment mMapFragment;
private GoogleMap mMap;
private boolean mapLoaded = false;
Context context;
@@ -119,27 +119,34 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke
private AltosDroid altos_droid;
+ public static class AltosOnlineMapFragment extends SupportMapFragment {
+ AltosMapOnline c;
+
+ public AltosOnlineMapFragment(AltosMapOnline c) {
+ this.c = c;
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ getMapAsync(c);
+ }
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ c.map_view = super.onCreateView(inflater, container, savedInstanceState);
+ return c.map_view;
+ }
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ c.map_view = null;
+ }
+ }
+
public void onCreateView(AltosDroid altos_droid) {
this.altos_droid = altos_droid;
- final int map_type = AltosPreferences.map_type();
AltosPreferences.register_map_type_listener(this);
- mMapFragment = new SupportMapFragment() {
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- setupMap(map_type);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- map_view = super.onCreateView(inflater, container, savedInstanceState);
- return map_view;
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- map_view = null;
- }
- };
+ mMapFragment = new AltosOnlineMapFragment(this);
}
public void onDestroyView() {
@@ -185,8 +192,10 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke
return true;
}
- public void setupMap(int map_type) {
- mMap = mMapFragment.getMap();
+ @Override
+ public void onMapReady(GoogleMap googleMap) {
+ final int map_type = AltosPreferences.map_type();
+ mMap = googleMap;
if (mMap != null) {
map_type_changed(map_type);
mMap.setMyLocationEnabled(true);