0

Ich will Marker-Symbol in die Straßenrichtung drehen, wie Sie im Bild sehen können es nur gerade platziert, aber es ist nicht in Richtung Straße gedreht .. Ich habe unter Code so weitwie man google map marker auf straßenrichtung drehen

versucht
double lat = 19.205681 
double lon = 72.871742 
loc.setLatitude(lat); 
loc.setLongitude(lon); 
Location newLoc = new Location("service Provider"); 
newLoc.setLongitude(lat); 
newLoc.setLongitude(lon); 
map.addMarker(new MarkerOptions() 
    .position(new LatLng(data.getLat(),data.getLon())) 
    .icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_pandu_car)) 
    .anchor(0.5f,0.5f) 
    .rotation(loc.bearingTo(newLoc)) 
    .flat(true)); 

Hinweis: Marker haben individuelle Lage (ofcource) ich möchte nicht von-bis Standort Lager zeigen ... nur einzelne Markierung auf der Straße Richtung weisen

Dank Sie enter image description here

UPDATE: Ich möchte mein Zeichen setzen er (Auto) wie dieser Ola App

enter image description here

+0

Wenn Sie von der api abrufen, muss das Hochladen Endlager sorgen für den Server es an Sie zurück. Dies liegt daran, dass Sie die Peilung nicht basierend auf dem aktuellen Standort, sondern basierend auf der tatsächlichen Lage des angegebenen Standorts festlegen möchten. – Milan

Antwort

0

ich Ihren Code versucht haben, erste Prüfung, die newLoc hat Lager ist oder nicht? machte nur einige Änderungen, wie folgend, Sie können es versuchen:

LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, 
       new com.google.android.gms.location.LocationListener() { 
        @Override 
        public void onLocationChanged(Location location1) { 
         if (location1 != null) { 
          if (currentPositionMarker != null) { 
           currentPositionMarker.remove(); 
          } 
          double latitude = location1.getLatitude(); 
          double longitude = location1.getLongitude(); 
          LatLng latLng = new LatLng(latitude, longitude); 
          int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity); 
          if (status == ConnectionResult.SUCCESS) { 
           currentPositionMarker = googleMap.addMarker(new MarkerOptions().position(latLng) 
             .icon(BitmapDescriptorFactory.fromResource(R.drawable.current_position)) 
             .rotation(location1.getBearing()).flat(true).anchor(0.5f, 0.5f) 
             .alpha((float) 0.91)); 

          } else { 
           GooglePlayServicesUtil.getErrorDialog(status, activity, status); 
          } 
         } 
        } 
       }); 
+0

Nein, es funktioniert nicht :(Markierungen sind immer noch vertikal (nicht wie bei der Straßenausrichtung) .. können Sie bitte den ganzen Code teilen? Oder Sie wollen mehr Code für Referent –

+0

meine editierte Antwort aussehen, kann es Ihnen helfen – BSavaliya