Java 如何在Google Maps API v2上删除多条路线中的直线
在我的应用程序中,我需要使用GoogleMapv2API显示源和目标之间的地图和备选路线。 唯一的问题是,当通过设置Alternations=true在地图上显示多条路线时,一条直线会伴随着正确的路线。我想摆脱源和目标之间的直线 这是我的GMAPv2GetroutedDirection代码Java 如何在Google Maps API v2上删除多条路线中的直线,java,android,google-maps,Java,Android,Google Maps,在我的应用程序中,我需要使用GoogleMapv2API显示源和目标之间的地图和备选路线。 唯一的问题是,当通过设置Alternations=true在地图上显示多条路线时,一条直线会伴随着正确的路线。我想摆脱源和目标之间的直线 这是我的GMAPv2GetroutedDirection代码 public class GMapV2GetRouteDirection { public final static String MODE_DRIVING = "driving"; public final
public class GMapV2GetRouteDirection {
public final static String MODE_DRIVING = "driving";
public final static String MODE_WALKING = "walking";
public GMapV2GetRouteDirection() { }
public Document getDocument(LatLng start, LatLng end, String mode) {
String url = "http://maps.googleapis.com/maps/api/directions/xml?"
+ "origin=" + start.latitude + "," + start.longitude
+ "&destination=" + end.latitude + "," + end.longitude
+ "&sensor=false&units=metric&mode=driving&alternatives=true";
try {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
HttpResponse response = httpClient.execute(httpPost, localContext);
InputStream in = response.getEntity().getContent();
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(in);
return doc;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
这是我返回路由的方法
private class GetRouteTask extends AsyncTask<String, Void, String> {
private ProgressDialog Dialog;
String response = "";
@Override
protected void onPreExecute() {
Dialog = new ProgressDialog(MainActivity.this);
Dialog.setMessage("Loading route...");
Dialog.show();
}
@Override
protected String doInBackground(String... urls) {
// Get All Route values
document = v2GetRouteDirection.getDocument(fromPosition,
toPosition, GMapV2GetRouteDirection.MODE_DRIVING);
response = "Success";
return response;
}
@Override
protected void onPostExecute(String result) {
//mGoogleMap.clear();
if (response.equalsIgnoreCase("Success")) {
ArrayList<LatLng> directionPoint = v2GetRouteDirection
.getDirection(document);
PolylineOptions rectLine = new PolylineOptions().width(8)
.color(Color.BLUE);
/*for (int i = 0; i < directionPoint.size(); i++) {
rectLine.addAll(directionPoint.get(i));
}*/
// Adding route on the map
rectLine.addAll(directionPoint);
mGoogleMap.addPolyline(rectLine);
//markerOptions.position(toPosition);
//markerOptions.draggable(true);
//mGoogleMap.addMarker(markerOptions);
}
私有类GetRouteTask扩展异步任务{
私人对话;
字符串响应=”;
@凌驾
受保护的void onPreExecute(){
Dialog=新建ProgressDialog(MainActivity.this);
setMessage(“装载路线…”);
Dialog.show();
}
@凌驾
受保护的字符串doInBackground(字符串…URL){
//获取所有路由值
document=v2GetRoutedDirection.getDocument(从位置,
位置,GMAPv2转向。模式_驱动);
答复=“成功”;
返回响应;
}
@凌驾
受保护的void onPostExecute(字符串结果){
//mGoogleMap.clear();
if(response.equalsIgnoreCase(“Success”)){
ArrayList方向点=v2GetRoutedDirection
.1.2.1指示(文件);
PolylineOptions直线=新的PolylineOptions()。宽度(8)
.颜色(颜色.蓝色);
/*对于(int i=0;i
wedak balagena inna moda prashna danne nethuwa通过结果迭代,如果只有2个Latlngs,则删除当我设置Alternations=false时,它不会给出任何直线。