2017-03-04 2 views
1

Hier ist mein Code:Google map ich bin immer aktuelle Position, wenn ich ändert Standortmarkierung bin nicht in google map nicht bewegt

public class MapViewFragment extends Fragment implements OnMapReadyCallback { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.maps, container, false); 

    Context context =this.getContext(); 
    GPSService mGPSService = new GPSService(context); 
    mGPSService.getLocation(); 

    if (mGPSService.isLocationAvailable == false) { 

    } else { 

     // Getting location co-ordinates 
     lat1 = mGPSService.getLatitude(); 
     lng1 = mGPSService.getLongitude(); 

    } 

    mMapView.onCreate(savedInstanceState); 
    ActivityCompat.requestPermissions(getActivity(),new String[]{ 
      android.Manifest.permission.ACCESS_FINE_LOCATION}, 1); 
    call.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      call(); 
     } 

    }); 
    mMapView.getMapAsync(this); //this is important 
       } 
    });*/ 

    } 
    return v; 
}  
    @Override 

public void onMapReady(GoogleMap googleMap) { 
    mGoogleMap = googleMap; 
    mGoogleMap.getUiSettings().setZoomControlsEnabled(true); 

    m1 = googleMap.addMarker(new MarkerOptions() 
      .position(new LatLng(lat1,lng1)) 
      .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) 
      .anchor(0.5f, 0.5f) 
      .title("Title1") 
      .snippet("Snippet1")); 

@Override 
public void onResume() { 
    super.onResume(); 
    mMapView.onResume(); 
} 

@Override 
public void onPause() { 
    super.onPause(); 
    mMapView.onPause(); 
} 



@Override 
public void onDestroy() { 
    super.onDestroy(); 
    mMapView.onDestroy(); 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
mMapView.onSaveInstanceState(outState); 
} 

    @Override 
    public void onLowMemory() { 
     super.onLowMemory(); 
     mMapView.onLowMemory(); 
    } 
} 

Im Programm i aktuelle Standort lat und lang.When immer ich an anderer Stelle verschoben Markierung ändert sich nicht. Immer wenn ich mich bewege, muss sich der Standort ändern. Aktueller Standortwert iam immer wenn ich den Standort verlagern Wert ändert sich nicht. Möchten Sie eine Methode verwenden, ändern Sie den Speicherort.

+0

Wechsel zu einem anderen Ort Sie meinen Sie eigentlich und an der Stelle aussehen bewegen? oder meinst du dich mit mapview an einen anderen Ort zu bewegen? –

+0

Ich kann den aktuellen Standort vom Code abrufen. Wie man Marker fortwährend wie Google google standardmässiger Standortmarker auf Google Map Android – Jayapriya

+0

Vielen Dank für Ihre Antwort – Jayapriya

Antwort

0

Ich nehme an, Sie haben bereits eine Markierung erstellt, um Ihre aktuelle Position anzuzeigen. so Marker currentLocation;

Jetzt müssen Sie Location implementieren und Ihre MapView im OnLocationChanged Rückruf aktualisieren

@Override 
public void onLocationChanged(Location location) { 
if(currentLocation != null){ 
      currentLocation.remove(); 
     } 

TextView tvLocation = (TextView) findViewById(R.id.tv_location); 

// Getting latitude of the current location 
double latitude = location.getLatitude(); 

// Getting longitude of the current location 
double longitude = location.getLongitude(); 

// Creating a LatLng object for the current location 
LatLng latLng = new LatLng(latitude, longitude); 
currentLocation = googleMap.addMarker(new MarkerOptions().position(latLng))); 
// Showing the current location in Google Map 
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

// Zoom in the Google Map 
googleMap.animateCamera(CameraUpdateFactory.zoomTo(15)); 
} 
+0

danke ich werde es versuchen und sagen Ergebnis – Jayapriya

+0

Soory Es funktioniert nicht für mich.de.de google map bewegt sich vom aktuellen Standort in Fragment nicht Aktivitätsklasse Viele Beispiele sind in Aktivität. So will ich App erstellen pls helfe mir – Jayapriya

+0

Ja, Sie sind in Mapfragment alles, was Sie tun müssen, ist ein Zuhörer verknüpfen. Geben Sie mMapView ein und setzen Sie den Standort, um den Listener dort zu ändern ... https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMyLocationChangeListener wie mMapView.OnMyLocationChangeListener (this); implementiert OnMapReadyCallback, OnMyLocationChangeListener und ich habe Ihnen eine ganze Methode, die Sie überschreiben müssen gegeben. –

Verwandte Themen