如何根据给定的坐标在Google地图道路上绘制路径?

时间:2014-09-29 14:31:44

标签: android google-maps google-polyline

我正在尝试在道路上画一条路并遵循一些给定的点。我正在使用Google Directions API跟踪道路。我在道路上放置了一些标记,并用折线连接这些点。但并非所有点都是链接的。有时候所有的点都被绘制了,有时候其中一些是缺失的。我不明白为什么?     
MyList是一个由一些points的lat lng值组成的数组.latlngBoundsfunction在for循环中链接该数组的元素。

            for (int i = 0; i < myList.size(); i++) {

            Double latS = Double.parseDouble(myList.get(i).getlat());
            Double lngS = Double.parseDouble(myList.get(i).getlng());

            Double latD = Double.parseDouble(myList.get(i+1).getlat());
            Double lngD = Double.parseDouble(myList.get(i+1).getlng());

            LatLng first = new LatLng(latS,lngS);
            LatLng second = new LatLng(latD,lngD);

            findDirections(latS,lngS,latD,lngD, GMapV2Direction.MODE_DRIVING );  
            latlngBounds = createLatLngBoundsObject(first,second);
            }

    public void findDirections(double fromPositionDoubleLat, double fromPositionDoubleLong,              double toPositionDoubleLat, double toPositionDoubleLong, String mode)
{
    Map<String, String> map = new HashMap<String, String>();
    map.put(GetDirectionsAsyncTask.USER_CURRENT_LAT, String.valueOf(fromPositionDoubleLat));
    map.put(GetDirectionsAsyncTask.USER_CURRENT_LONG, String.valueOf(fromPositionDoubleLong));
    map.put(GetDirectionsAsyncTask.DESTINATION_LAT, String.valueOf(toPositionDoubleLat));
    map.put(GetDirectionsAsyncTask.DESTINATION_LONG, String.valueOf(toPositionDoubleLong));
    map.put(GetDirectionsAsyncTask.DIRECTIONS_MODE, mode);

    GetDirectionsAsyncTask asyncTask = new GetDirectionsAsyncTask(this);
    asyncTask.execute(map); 
}

    public void handleGetDirectionsResult(ArrayList<LatLng> directionPoints) {
        PolylineOptions rectLine = new PolylineOptions().width(5).color(Color.BLUE);

        for(int i = 0 ; i < directionPoints.size() ; i++) 
        {          
            rectLine.add(directionPoints.get(i));
        }
        newPolyline = googleMap.addPolyline(rectLine);


}

我在链接GMapV2Direction,GetDirectionsAsyncTask

中使用了两类此来源

0 个答案:

没有答案