Android bekommt und analysiere Google Richtungen

Google Anfahrt API

Ich lese diesen Leitfaden jetzt kann ich eine korrekte Anforderung erstellen, um die XML-Datei zu erhalten, die die Richtungen von Adresse A zu Adresse B enthält. Was ich brauche, ist einige Anweisungen und Beispiel, wie man diese xml liest, um die erhaltenen Richtungen auf einem Android MapView zu zeichnen. Ich möchte auch wissen, was dieses Tag in der xml repräsentiert:

  • Wie konvertiert man eine Java-Swing-Anwendung auf Android zu arbeiten
  • Androind 2.2 Vorschau 1 - Verwenden von ConstraintsLayout mit GuideLine App stürzt ab
  • Android Set Inhalt Typ HttpPost
  • Fortschrittsdialog beim Starten neuer Aktivitäten
  • ClassCastException beim Versuch, readParcelable auf benutzerdefinierten Objekt-Array zu tun
  • Schaffung von Hashmap aus einer JSON String
  • <overview_polyline> <points> a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\|tNtqf@l{Yd_Fblh@rxo@b} @xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@ xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@lo Ppxq@bw_@v|{CbtY~jGqeMb{iF|n\~mbDzeVh_Wr|Efc\x`Ij{kE}mAb~uF{cNd}xBjp] fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvH x`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_B flmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC </points> <levels>BBBAAAAABAABAAAAAABBAAABBAAAABBAAABABAAABABBAABAABAAAABABABABBABAABB</levels> </overview_polyline> 

    Vielen Dank

  • Kompilieren Sie Imagemagick für Android mit NDK
  • App App auf Firebase-Benachrichtigung erhalten (FCM)
  • Starten Sie zwei Animationen im selben Layout
  • Warum Google native oauth2 flow benötigen Client geheim?
  • Wie installiere ich Android Market App auf dem Emulator?
  • Wie Set ViewPager in einem Fragment
  • 4 Solutions collect form web for “Android bekommt und analysiere Google Richtungen”

    Ich habe dieses Beispiel im Internet gefunden. Ich werde versuchen, es zu benutzen. Polyline Decodierung Beispiel

     private List<GeoPoint> decodePoly(String encoded) { List<GeoPoint> poly = new ArrayList<GeoPoint>(); int index = 0, len = encoded.length(); int lat = 0, lng = 0; while (index < len) { int b, shift = 0, result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lat += dlat; shift = 0; result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lng += dlng; GeoPoint p = new GeoPoint((int) (((double) lat / 1E5) * 1E6), (int) (((double) lng / 1E5) * 1E6)); poly.add(p); } return poly; } 

    Ich habe auch versucht, die Direction Api von Google in Android zu verwenden. Also habe ich ein Open-Source-Projekt gemacht, um das zu tun. Sie finden es hier: https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

    Wie es funktioniert, definitiv einfach:

     public class MainActivity extends ActionBarActivity implements DCACallBack{ /** * Get the Google Direction between mDevice location and the touched location using the Walk * @param point */ private void getDirections(LatLng point) { GDirectionsApiUtils.getDirection(this, startPoint, endPoint, GDirectionsApiUtils.MODE_WALKING); } /* * The callback * When the directions is built from the google server and parsed, this method is called and give you the expected direction */ @Override public void onDirectionLoaded(List<GDirection> directions) { // Display the direction or use the DirectionsApiUtils for(GDirection direction:directions) { Log.e("MainActivity", "onDirectionLoaded : Draw GDirections Called with path " + directions); GDirectionsApiUtils.drawGDirection(direction, mMap); } } 

    Ich habe die Antwort von urobo oben (sehr leicht) gezwungen, um dir LatLngs zu geben, die du für Google Maps für Android V2 willst:

     private List<LatLng> decodePoly(String encoded) { List<LatLng> poly = new ArrayList<LatLng>(); int index = 0, len = encoded.length(); int lat = 0, lng = 0; while (index < len) { int b, shift = 0, result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lat += dlat; shift = 0; result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lng += dlng; LatLng p = new LatLng((double) lat / 1E5, (double) lng / 1E5); poly.add(p); } return poly; } 

    Vielleicht möchten Sie einen schnellen Überblick über die Route haben, die von der waypoint_polyline und der Koordinatenliste direkt erstellt wird. Für diese Google haben Release-Decodierung api "Interactive Polyline Encoder Utility"

    Sie können den waypoint_polyline-Wert in das Textfeld "Encoded Polyline" bei der Adresse Interactive Polyline Encoder Utility einfügen

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.