Foros del Web » Programando para Internet » Android »

error dibujando camino entre 2 puntos

Estas en el tema de error dibujando camino entre 2 puntos en el foro de Android en Foros del Web. Hola Quiero dibujar el camino entre 2 puntos GeoPoint he utilizado el parsing kml aquí tenéis una parte del código : Código: private void drawPath(GeoPoint ...
  #1 (permalink)  
Antiguo 03/01/2013, 20:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 7 meses
Puntos: 1
error dibujando camino entre 2 puntos

Hola

Quiero dibujar el camino entre 2 puntos GeoPoint he utilizado el parsing kml
aquí tenéis una parte del código :

Código:
private void drawPath(GeoPoint src, GeoPoint dest, MapView mapView) {

    String strUrl = "http://maps.google.com/maps?";
    //From
    strUrl += "saddr=" +
           (src.getLatitudeE6()/1.0E6) + 
           "," +
           (src.getLongitudeE6()/1.0E6);
    //To
    strUrl += "&daddr=" +
           (dest.getLatitudeE6()/1.0E6) + 
           "," + 
           (dest.getLongitudeE6()/1.0E6);
    //Walk attribute (for walk path)
    strUrl += "&dirflg=w";
    //File format
    strUrl += "&output=kml";

    try {
        //Parse KML
        URL url = new URL(strUrl.toString());
        SAXParserFactory saxFactory = SAXParserFactory.newInstance();
        SAXParser parser = saxFactory.newSAXParser();
        XMLReader reader = parser.getXMLReader();
        KMLHandler kmlHandler = new KMLHandler();
        reader.setContentHandler(kmlHandler);
        InputSource inputSource = new InputSource(url.openStream());
        reader.parse(inputSource);

        String path = kmlHandler.getPathCoordinates();
        //Draw path
        if(path != null) {
            RouteOverlay routeOverlay = new RouteOverlay();
            String pairs[] = path.split(" ");
            for (String pair : pairs) {
                String coordinates[] = pair.split(",");
                GeoPoint geoPoint = new GeoPoint(
                        (int) (Double.parseDouble(coordinates[1]) * 1E6),
                        (int) (Double.parseDouble(coordinates[0]) * 1E6));
                routeOverlay.addGeoPoint(geoPoint);
            }

            mapView.getOverlays().add(routeOverlay);
        }
    } catch (Exception e) {
        Log.w("RoutePath", e.toString());
    }
}
la ejecucion se detiene a la linea :
Código:
InputSource inputSource = new InputSource(url.openStream());
la siguiente linea no se ejecuta :
Código:
reader.parse(inputSource);
.

Puede alguien decirme cual es el problema y como puedo solucionarlo ??

Gracias de anticipo

Etiquetas: kml, parsear, googlemaps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:52.