2016-08-22 5 views
0

я получил ответ между двумя точками из Directions API и проанализирован его и нарисовать полилинию на карте, но проблема в том, линия является перетянуть строительствоGoogle Maps Direction Api Возвратите неправильные направления?

Код для прорисовать ломаную линию:

JSONArray steps = response.getJSONObject(0).getJSONArray("legs").getJSONObject(0).getJSONArray("steps"); 
        PolylineOptions rectOptions = new PolylineOptions(); 
        for (int i = 0; i < steps.length(); i++) { 


         //add start_location 
         JSONObject stepS = steps.getJSONObject(i).getJSONObject("start_location"); 
         rectOptions.add(new LatLng(stepS.getDouble("lat"), stepS.getDouble("lng"))); 

         //add end location 
         JSONObject stepE = steps.getJSONObject(i).getJSONObject("end_location"); 
         rectOptions.add(new LatLng(stepE.getDouble("lat"), stepE.getDouble("lng"))); 

enter image description here

EDIT: Я нашел решение

rectOptions.addAll (PolyUtil.decode (steps.getJSONObject (я) .getJSONObject ("Ломаная") GetString ("точка"))).

+0

Пожалуйста, опубликовать решение в ответ не на редактирование. Благодаря! –

ответ

1

Решение: Добавив эту строку решить эту проблему

rectOptions.addAll(PolyUtil.decode(steps.getJSONObject(i).getJSONObject("polyline").getString("points")));