Почему мой размер urlConnection.getContentLength всегда равен -1?

Возможный дубликат:
getContentLength () возвращает -1 на некоторых устройствах, а не на других

Я делаю на Android-приложение, которое покажет маршрут из одного места в другое. Итак, во-первых, мне нужно получить файл kml, а затем выполнить синтаксический анализ. Однако размер моего анализа равен -1, что не так. Размер разбора должен быть больше -1, но я не смог его получить. Может кто-нибудь мне помочь? Спасибо!

// connect to map web service
    StringBuilder urlString = new StringBuilder();
    urlString.append("http://maps.google.com/maps?f=d&hl=en");
    urlString.append("&saddr=");//from
    urlString.append( Double.toString((double)src.getLatitudeE6()/1.0E6 ));
    urlString.append(",");
    urlString.append( Double.toString((double)src.getLongitudeE6()/1.0E6 ));
    urlString.append("&daddr=");//to
    urlString.append( Double.toString((double)dest.getLatitudeE6()/1.0E6 ));
    urlString.append(",");
    urlString.append( Double.toString((double)dest.getLongitudeE6()/1.0E6 ));
    urlString.append("&ie=UTF8&0&om=0&output=kml");
    Log.d("DrawPath","URL="+urlString.toString());

    // get the kml (XML) doc. And parse it to get the coordinates(direction route).
    Document doc = null;
    HttpURLConnection urlConnection= null;
    URL url = null;

    try
    {
        url = new URL(urlString.toString());
        urlConnection=(HttpURLConnection)url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.setDoOutput(true);
        urlConnection.setDoInput(true);
        urlConnection.connect();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Log.d("Before parse", "size:" + urlConnection.getContentLength());
        doc = db.parse(urlConnection.getInputStream());

1 ответ

Решение

Для этого вам нужно передать правильные значения широты и долготы. Я мог бы сделать это с вашим кодом. Я попытался передать значения долготы и широты, скорректированные до 7 десятичных знаков. Я попробовал это.

Попробуйте со следующим. Пуна = > srcLat = 18,4577015; Пуна = > srcLong = 73,8552158;

Мумбаи = > destLat = 19.017576; Мумбаи = > destLong = 72.8562427;

Результат: перед разбором размер:47555

Другие вопросы по тегам