X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FAltosMapOnline.java;h=fcdb930b4e688600df4bd9660227dc86c20f0887;hb=d81f94fd5339d513de9bde5a2e19f8eca526344f;hp=3b56fb54c1573cfa15a7127e265e2eb23f745406;hpb=643c2fb03833d658320f476ef731bbb06fe3cc31;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java index 3b56fb54..fcdb930b 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java @@ -19,7 +19,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; -import org.altusmetrum.altoslib_7.*; +import org.altusmetrum.altoslib_10.*; import com.google.android.gms.maps.*; import com.google.android.gms.maps.model.*; @@ -102,7 +102,7 @@ class RocketOnline implements Comparable { } } -public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener { +public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarkerClickListener, GoogleMap.OnMapClickListener, AltosMapTypeListener { public SupportMapFragment mMapFragment; private GoogleMap mMap; private boolean mapLoaded = false; @@ -124,7 +124,8 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke public void onCreateView(AltosDroid altos_droid) { this.altos_droid = altos_droid; - final int map_type = altos_droid.map_type; + final int map_type = AltosPreferences.map_type(); + AltosPreferences.register_map_type_listener(this); mMapFragment = new SupportMapFragment() { @Override public void onActivityCreated(Bundle savedInstanceState) { @@ -144,9 +145,9 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke }; } -// public void onActivityCreated() { -// getChildFragmentManager().beginTransaction().add(R.id.map, mMapFragment).commit(); -// } + public void onDestroyView() { + AltosPreferences.unregister_map_type_listener(this); + } private double pixel_distance(LatLng a, LatLng b) { Projection projection = mMap.getProjection(); @@ -190,7 +191,7 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke public void setupMap(int map_type) { mMap = mMapFragment.getMap(); if (mMap != null) { - set_map_type(map_type); + map_type_changed(map_type); mMap.setMyLocationEnabled(true); mMap.getUiSettings().setTiltGesturesEnabled(false); mMap.getUiSettings().setZoomControlsEnabled(false); @@ -281,7 +282,7 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke mPadMarker.setVisible(true); } } - if (state.gps != null) { + if (state.gps != null && state.gps.lat != AltosLib.MISSING) { target_position = new AltosLatLon(state.gps.lat, state.gps.lon); if (state.gps.locked && state.gps.nsat >= 4) @@ -308,7 +309,7 @@ public class AltosMapOnline implements AltosDroidMapInterface, GoogleMap.OnMarke } - public void set_map_type(int map_type) { + public void map_type_changed(int map_type) { if (mMap != null) { if (map_type == AltosMap.maptype_hybrid) mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);