Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Google Maps API v2上删除多条路线中的直线_Java_Android_Google Maps - Fatal编程技术网

Java 如何在Google Maps API v2上删除多条路线中的直线

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

在我的应用程序中,我需要使用GoogleMapv2API显示源和目标之间的地图和备选路线。 唯一的问题是,当通过设置Alternations=true在地图上显示多条路线时,一条直线会伴随着正确的路线。我想摆脱源和目标之间的直线

这是我的GMAPv2GetroutedDirection代码

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时,它不会给出任何直线。