2017-04-24 4 views
0

Wie Sie die Wegbeschreibung in Google Map mit Polylinien zu ermöglichen. Kann jemand helfen, Karte zwischen zwei Punkten über die Straße zu zeichnen.Polylinien gezeichnet zwischen zwei Punkten in Google Map ist nicht auf der Straße (Wegbeschreibung)

Derzeit wird eine einfache Linie zwischen zwei Punkten in der Karte gezeichnet. Ich kann es nicht ändern.

ist mein Code unten

gegeben
 String stringUrl = "http://maps.googleapis.com/maps/api/directions/json?origin=" + fromPosition+ "&destination=" + toPosition+ "&sensor=false"; 
     StringBuilder response = new StringBuilder(); 
     try { 
      URL url = new URL(stringUrl); 
      HttpURLConnection httpconn = (HttpURLConnection) url 
        .openConnection(); 
      if (httpconn.getResponseCode() == HttpURLConnection.HTTP_OK) { 
       BufferedReader input = new BufferedReader(
         new InputStreamReader(httpconn.getInputStream()), 
         8192); 
       String strLine = null; 

       while ((strLine = input.readLine()) != null) { 
        response.append(strLine); 
       } 
       input.close(); 
      } 

      String jsonOutput = response.toString(); 

      JSONObject jsonObject = new JSONObject(jsonOutput); 

      // routesArray contains ALL routes 
      JSONArray routesArray = jsonObject.getJSONArray("routes"); 
      // Grab the first route 
      JSONObject route = routesArray.getJSONObject(0); 

      JSONArray legs = route.getJSONArray("legs"); 
      JSONObject firtsLegs = legs.getJSONObject(0); 

      JSONObject distance = firtsLegs.getJSONObject("distance"); 


      System.out.println("Response test was : " + distance.getString("text")); 

      String walkDistance = distance.getString("text"); 



      JSONObject poly = route.getJSONObject("overview_polyline"); 
      String polyline = poly.getString("points"); 
      decodePoly(polyline); 


     } catch (Exception e) { 

     } 

Antwort

0

Sie benötigen die JSON-Objekt Rückkehr von Google Richtung API zu analysieren. Es muss alle Punkte in der Polylinie für die vollständige Navigation dekodiert werden. Sie können die Parsing-Logik entweder selbst schreiben oder Hilfe von einigen coolen existierenden Projekten wie https://github.com/akexorcist/Android-GoogleDirectionLibrary nehmen.

+0

Das Hinzufügen einer Drittanbieter-Bibliothek ist in dieser Hinsicht nicht sicher. Also versuche ich es in der nativen Funktion der Android Map zu tun. Danke für deine Kommentare. –

Verwandte Themen