Hallo Ich benutze Google Map mit LocationListener
. Ich bin in der Lage Weg zwischen den Punkten zu zeichnen mit Fused APIAndroid Google Maps zeichnen Pfad beim Verschieben
protected void createLocationRequest() {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(1000 * 60 * 1);
mLocationRequest.setFastestInterval(1000 * 60 * 1);
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
und hier habe ich den Pfad ziehen:
public void onLocationChanged(Location location) {
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
routePoints.add(latLng);
Polyline route = mGoogleMap.addPolyline(new PolylineOptions()
.width(5)
.color(Color.BLUE)
.geodesic(false)
.zIndex(3));
route.setPoints(routePoints);
}
Der Punkt ist, ich brauche Live-Pfad zu zeichnen, während Benutzer bewegt und zu stoppen wenn der Benutzer unabhängig von der Intervallzeit von LocationRequest
stoppt.
Ihnen danken, aber ich möchte ein Verfahren ohne Zeitintervall Linie meine ich zeichnen, während Benutzer nicht nach bewegt Intervall, ich kann es wegen Batterieproblemen nicht sehr klein machen. Ich möchte, dass eine Prozedur nur funktioniert, wenn der Benutzer sich bewegt. – Radwa
@Radwa bitte beachten Sie 'locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 1000, 1, myLocationListener);' dies bedeutet nicht, dass es nach jeder Sekunde aufgerufen wird, bedeutet es, dass die Differenz mindestens 1 Sekunde und 1 Meter betragen muss diese Methode wieder.Wenn sich der Standort nicht wieder ändert, wird er nie mehr aufgerufen –
Ich bekomme deine Idee mein Problem ist, ich mache Intervall 1 Minute es ist den Weg zeichnen aber ignorieren Punkte, die ich in weniger als Minute Ie checkte, wenn ich bei A check, dann Wende nach B, dann C zeichne von Punkt A nach Punkt C und ignoriere Punkt b, da es weniger als Minute dauert – Radwa