我正在尝试在道路上画一条路并遵循一些给定的点。我正在使用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);
}
中使用了两类此来源