Android谷歌地图。折线未正确绘制

时间:2014-03-18 07:27:07

标签: android routes drawing android-maps-v2 polyline

我想在谷歌地图上绘制一条服装路线。显示路线但我得到了一些额外的折线:

enter image description here

正如你所看到的,路线真的搞砸了,谁能告诉我如何解决这个问题呢?

我正在使用此方法绘制线条:

  // Executes in UI thread, after the parsing process         
        protected void onPostExecute(List<List<HashMap<String, String>>> result)
        {
            ArrayList<LatLng> points = null;
            PolylineOptions lineOptions = null;

            // Traversing through all the routes
            for(int i=0;i<result.size();i++)
            {
                points = new ArrayList<LatLng>();
                lineOptions = new PolylineOptions();

                // Fetching i-th route
                List<HashMap<String, String>> path = result.get(i);

                // Fetching all the points in i-th route
                for(int j=0;j<path.size();j++)
                {
                    HashMap<String,String> point = path.get(j);  
                    double lat = Double.parseDouble(point.get("lat"));
                    double lng = Double.parseDouble(point.get("lng"));
                    LatLng position = new LatLng(lat, lng);  
                    points.add(position);
                }

                // Adding all the points in the route to LineOptions                   
                lineOptions.addAll(points);
                lineOptions.width(7);
                lineOptions.color(Color.GREEN);
            }

            // Drawing polyline in the Google Map for the i-th route
            mGoogleMap.addPolyline(lineOptions);
        }   

我正在使用以下代码放置片段的坐标:

  public List<List<HashMap<String,String>>> parse(Variant variant)
{       
    List<List<HashMap<String, String>>> routes = new ArrayList<List<HashMap<String,String>>>();

    try 
    {       

        /** Traversing all routes */
        for(int i=0;i < variant.route.length; i++)
        {               
            List<HashMap<String, String>> path = new ArrayList<HashMap<String, String>>();

            /** Traversing all legs */
            for(int j=0;j < variant.route[i].segments.length; j++)
            {                                      
                /** Traversing all points */
                for(int l=0;l < variant.route[i].segments[j].coordinate.length; l++)
                {
                    HashMap<String, String> hm = new HashMap<String, String>();
                    hm.put("lat", Double.toString(variant.route[i].segments[j].coordinate[l].latitude));
                    hm.put("lng", Double.toString(variant.route[i].segments[j].coordinate[l].longitude));
                    path.add(hm);
                }
             }routes.add(path);
            }
    }catch (Exception e){
    }
    return routes;
}    

}

0 个答案:

没有答案