Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android obtener y analizar Google Directions

Google API de rutas

He leído esta guía ahora puedo construir una solicitud correcta para recibir el archivo xml containg las direcciones de la dirección A a la dirección B. Lo que necesito es algunas instrucciones y el ejemplo de cómo leer este xml para dibujar las direcciones obtenidas en un Android MapView. También me gustaría saber qué representa esta etiqueta en el xml:

<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> 

Gracias

  • Cómo encontrar la distancia (por carretera) entre 2 puntos geo en la aplicación de Android sin utilizar google map direction api?
  • Obtener la dirección del mapa o la dirección de ubicación en Android
  • ¿Cómo obtener el certificado de huella digital SHA-1 en Android Studio para el modo de depuración?
  • Importar la biblioteca google-play-service mostrando una X roja junto a esta referencia android
  • Adición de botones para correlacionar infowindow android
  • ¿Cómo centrarse en la ubicación en Google Maps, teniendo en cuenta una vista es en la parte superior de la misma?
  • Android Maps API v2 dibujar círculo
  • No se encontró el recurso de servicio de Google Play
  • 4 Solutions collect form web for “Android obtener y analizar Google Directions”

    He encontrado este ejemplo en la web voy a tratar de usarlo. Ejemplo de descodificación de polilínea

     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; } 

    También estaba tratando de usar la dirección Api de Google en Android. Así que hice un proyecto de código abierto para ayudar a hacer eso. Puede encontrarlo aquí: https://github.com/MathiasSeguy-Android2EE/GDirectionsApiUtils

    Cómo funciona, sin duda, simplemente:

     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); } } 

    He modificado la respuesta de urobo arriba (muy ligeramente) para dar LatLngs que usted deseará para Google Maps para Android V2:

     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; } 

    Es posible que desee tener una vista rápida de la ruta que será creada por el waypoint_polyline y la lista de coordenadas directamente. Para este google han release decoding api "Interactive Polyline Encoder Utility"

    Puede pegar el valor del waypoint_polyline al campo de texto Polyline codificada en la dirección Utilidad del codificador de polilínea interactivo

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.