我正在为我的Android应用程序使用Google Maps Android API v2。我想在上面画一条折线。它正在工作,但它连接起点和终点以及循环。如何解决这个问题。请参考图片。抱歉,由于图片上的隐私问题,我已覆盖所有位置名称。
以下是我的代码。 path是一个LatLng类型的ArrayList,它包含从Google方向服务中获取的所有点。
PolylineOptions lineOptions = new PolylineOptions();;
// Adding all the points in the route to LineOptions
lineOptions.addAll(path);
lineOptions.width(2);
lineOptions.color(Color.RED);
lineOptions.geodesic(false);
// Drawing polyline in the Google Map for the i-th route
mGoogleMap.addPolyline(lineOptions);
以下是我使用的一组位置。
10-13 23:18:42.648: I/System.out(20202): Lat:6.8509 lng:79.98403
10-13 23:18:42.648: I/System.out(20202): Lat:6.85083 lng:79.98397
10-13 23:18:42.648: I/System.out(20202): Lat:6.85061 lng:79.98386
10-13 23:18:42.648: I/System.out(20202): Lat:6.85031 lng:79.98372
10-13 23:18:42.648: I/System.out(20202): Lat:6.84994 lng:79.98348
10-13 23:18:42.648: I/System.out(20202): Lat:6.84983 lng:79.98338
10-13 23:18:42.648: I/System.out(20202): Lat:6.84972 lng:79.98328
10-13 23:18:42.648: I/System.out(20202): Lat:6.8496 lng:79.98324
10-13 23:18:42.648: I/System.out(20202): Lat:6.84946 lng:79.98327
10-13 23:18:42.648: I/System.out(20202): Lat:6.84925 lng:79.98332
10-13 23:18:42.648: I/System.out(20202): Lat:6.84908 lng:79.98344
10-13 23:18:42.648: I/System.out(20202): Lat:6.84894 lng:79.98357
10-13 23:18:42.648: I/System.out(20202): Lat:6.84885 lng:79.98368
10-13 23:18:42.648: I/System.out(20202): Lat:6.84875 lng:79.98378
10-13 23:18:42.648: I/System.out(20202): Lat:6.8487 lng:79.9839
10-13 23:18:42.648: I/System.out(20202): Lat:6.84864 lng:79.98404
10-13 23:18:42.648: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.648: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.648: I/System.out(20202): Lat:6.84857 lng:79.98436
10-13 23:18:42.658: I/System.out(20202): Lat:6.84754 lng:79.98453
10-13 23:18:42.658: I/System.out(20202): Lat:6.84606 lng:79.98475
10-13 23:18:42.658: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.658: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.658: I/System.out(20202): Lat:6.84593 lng:79.98412
10-13 23:18:42.658: I/System.out(20202): Lat:6.84591 lng:79.98405
10-13 23:18:42.658: I/System.out(20202): Lat:6.84587 lng:79.98385
10-13 23:18:42.658: I/System.out(20202): Lat:6.84582 lng:79.98344
10-13 23:18:42.658: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.658: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.658: I/System.out(20202): Lat:6.84575 lng:79.98292
10-13 23:18:42.668: I/System.out(20202): Lat:6.8469 lng:79.98272
10-13 23:18:42.668: I/System.out(20202): Lat:6.8509 lng:79.98403
10-13 23:18:42.668: I/System.out(20202): Lat:6.85083 lng:79.98397
10-13 23:18:42.668: I/System.out(20202): Lat:6.85061 lng:79.98386
10-13 23:18:42.668: I/System.out(20202): Lat:6.85031 lng:79.98372
10-13 23:18:42.668: I/System.out(20202): Lat:6.84994 lng:79.98348
10-13 23:18:42.668: I/System.out(20202): Lat:6.84983 lng:79.98338
10-13 23:18:42.668: I/System.out(20202): Lat:6.84972 lng:79.98328
10-13 23:18:42.668: I/System.out(20202): Lat:6.8496 lng:79.98324
10-13 23:18:42.668: I/System.out(20202): Lat:6.84946 lng:79.98327
10-13 23:18:42.668: I/System.out(20202): Lat:6.84925 lng:79.98332
10-13 23:18:42.668: I/System.out(20202): Lat:6.84908 lng:79.98344
10-13 23:18:42.668: I/System.out(20202): Lat:6.84894 lng:79.98357
10-13 23:18:42.668: I/System.out(20202): Lat:6.84885 lng:79.98368
10-13 23:18:42.668: I/System.out(20202): Lat:6.84875 lng:79.98378
10-13 23:18:42.668: I/System.out(20202): Lat:6.8487 lng:79.9839
10-13 23:18:42.668: I/System.out(20202): Lat:6.84864 lng:79.98404
10-13 23:18:42.668: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.668: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.668: I/System.out(20202): Lat:6.84857 lng:79.98436
10-13 23:18:42.668: I/System.out(20202): Lat:6.84754 lng:79.98453
10-13 23:18:42.678: I/System.out(20202): Lat:6.84606 lng:79.98475
10-13 23:18:42.678: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.678: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.678: I/System.out(20202): Lat:6.84593 lng:79.98412
10-13 23:18:42.678: I/System.out(20202): Lat:6.84591 lng:79.98405
10-13 23:18:42.678: I/System.out(20202): Lat:6.84587 lng:79.98385
10-13 23:18:42.678: I/System.out(20202): Lat:6.84582 lng:79.98344
10-13 23:18:42.678: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.678: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.678: I/System.out(20202): Lat:6.84575 lng:79.98292
10-13 23:18:42.678: I/System.out(20202): Lat:6.8469 lng:79.98272
10-13 23:18:42.678: I/System.out(20202): Lat:6.8509 lng:79.98403
10-13 23:18:42.678: I/System.out(20202): Lat:6.85083 lng:79.98397
10-13 23:18:42.678: I/System.out(20202): Lat:6.85061 lng:79.98386
10-13 23:18:42.678: I/System.out(20202): Lat:6.85031 lng:79.98372
10-13 23:18:42.678: I/System.out(20202): Lat:6.84994 lng:79.98348
10-13 23:18:42.678: I/System.out(20202): Lat:6.84983 lng:79.98338
10-13 23:18:42.678: I/System.out(20202): Lat:6.84972 lng:79.98328
10-13 23:18:42.678: I/System.out(20202): Lat:6.8496 lng:79.98324
10-13 23:18:42.678: I/System.out(20202): Lat:6.84946 lng:79.98327
10-13 23:18:42.688: I/System.out(20202): Lat:6.84925 lng:79.98332
10-13 23:18:42.688: I/System.out(20202): Lat:6.84908 lng:79.98344
10-13 23:18:42.688: I/System.out(20202): Lat:6.84894 lng:79.98357
10-13 23:18:42.688: I/System.out(20202): Lat:6.84885 lng:79.98368
10-13 23:18:42.688: I/System.out(20202): Lat:6.84875 lng:79.98378
10-13 23:18:42.688: I/System.out(20202): Lat:6.8487 lng:79.9839
10-13 23:18:42.688: I/System.out(20202): Lat:6.84864 lng:79.98404
10-13 23:18:42.688: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.688: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.688: I/System.out(20202): Lat:6.84857 lng:79.98436
10-13 23:18:42.688: I/System.out(20202): Lat:6.84754 lng:79.98453
10-13 23:18:42.688: I/System.out(20202): Lat:6.84606 lng:79.98475
10-13 23:18:42.698: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.698: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.698: I/System.out(20202): Lat:6.84593 lng:79.98412
10-13 23:18:42.698: I/System.out(20202): Lat:6.84591 lng:79.98405
10-13 23:18:42.698: I/System.out(20202): Lat:6.84587 lng:79.98385
10-13 23:18:42.698: I/System.out(20202): Lat:6.84582 lng:79.98344
10-13 23:18:42.698: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.698: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.698: I/System.out(20202): Lat:6.84575 lng:79.98292
10-13 23:18:42.698: I/System.out(20202): Lat:6.8469 lng:79.98272
10-13 23:18:42.698: I/System.out(20202): Lat:6.8509 lng:79.98403
10-13 23:18:42.698: I/System.out(20202): Lat:6.85083 lng:79.98397
10-13 23:18:42.698: I/System.out(20202): Lat:6.85061 lng:79.98386
10-13 23:18:42.698: I/System.out(20202): Lat:6.85031 lng:79.98372
10-13 23:18:42.698: I/System.out(20202): Lat:6.84994 lng:79.98348
10-13 23:18:42.698: I/System.out(20202): Lat:6.84983 lng:79.98338
10-13 23:18:42.698: I/System.out(20202): Lat:6.84972 lng:79.98328
10-13 23:18:42.698: I/System.out(20202): Lat:6.8496 lng:79.98324
10-13 23:18:42.698: I/System.out(20202): Lat:6.84946 lng:79.98327
10-13 23:18:42.698: I/System.out(20202): Lat:6.84925 lng:79.98332
10-13 23:18:42.698: I/System.out(20202): Lat:6.84908 lng:79.98344
10-13 23:18:42.708: I/System.out(20202): Lat:6.84894 lng:79.98357
10-13 23:18:42.708: I/System.out(20202): Lat:6.84885 lng:79.98368
10-13 23:18:42.708: I/System.out(20202): Lat:6.84875 lng:79.98378
10-13 23:18:42.708: I/System.out(20202): Lat:6.8487 lng:79.9839
10-13 23:18:42.708: I/System.out(20202): Lat:6.84864 lng:79.98404
10-13 23:18:42.708: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.708: I/System.out(20202): Lat:6.8486 lng:79.98436
10-13 23:18:42.718: I/System.out(20202): Lat:6.84857 lng:79.98436
10-13 23:18:42.718: I/System.out(20202): Lat:6.84754 lng:79.98453
10-13 23:18:42.718: I/System.out(20202): Lat:6.84606 lng:79.98475
10-13 23:18:42.718: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.718: I/System.out(20202): Lat:6.84605 lng:79.98475
10-13 23:18:42.718: I/System.out(20202): Lat:6.84593 lng:79.98412
10-13 23:18:42.718: I/System.out(20202): Lat:6.84591 lng:79.98405
10-13 23:18:42.718: I/System.out(20202): Lat:6.84587 lng:79.98385
10-13 23:18:42.718: I/System.out(20202): Lat:6.84582 lng:79.98344
10-13 23:18:42.718: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.718: I/System.out(20202): Lat:6.84573 lng:79.98293
10-13 23:18:42.718: I/System.out(20202): Lat:6.84575 lng:79.98292
10-13 23:18:42.718: I/System.out(20202): Lat:6.8469 lng:79.98272
答案 0 :(得分:1)
有些要点是"重复" ....我的意思是,看看你的积分榜,例如: 10-13 23:18:42.668:I / System.out(20202):Lat:6.8469 lng:79.98272
... [93多点] ......
10-13 23:18:42.718:I / System.out(20202):Lat:6.8469 lng:79.98272
一个和另一个之间有93个点,这使得路线回到这一点。 路径是连续绘制的,因此点的顺序很重要。 你应该仔细检查点数(也许谷歌地球上的KMZ / KML可以帮助)
答案 1 :(得分:0)
V.1 你能发布你画线的方式吗?
V.2 您是否也可以发布路径中的数据,因为问题可能是该列表中的起点和终点彼此相邻。
V.3
尝试撤消您的数据列表。
你只是画了一次,还是在某种循环中?
V.4您有多次相同的数据
看看这些部分:
path.add(new LatLng(6.84605,79.98475));
path.add(new LatLng(6.84593,79.98412));
path.add(new LatLng(6.84591,79.98405));
path.add(new LatLng(6.84587,79.98385));
path.add(new LatLng(6.84582,79.98344));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84575,79.98292));
path.add(new LatLng(6.8469,79.98272));
path.add(new LatLng(6.8509,79.98403));
path.add(new LatLng(6.85083,79.98397));
path.add(new LatLng(6.85061,79.98386));
path.add(new LatLng(6.85031,79.98372));
path.add(new LatLng(6.84994,79.98348));
path.add(new LatLng(6.84983,79.98338));
path.add(new LatLng(6.84972,79.98328));
path.add(new LatLng(6.8496,79.98324));
path.add(new LatLng(6.84946,79.98327));
path.add(new LatLng(6.84925,79.98332));
path.add(new LatLng(6.84908,79.98344));
path.add(new LatLng(6.84894,79.98357));
path.add(new LatLng(6.84885,79.98368));
path.add(new LatLng(6.84875,79.98378));
path.add(new LatLng(6.8487,79.9839));
path.add(new LatLng(6.84864,79.98404));
path.add(new LatLng(6.8486,79.98436));
path.add(new LatLng(6.8486,79.98436));
path.add(new LatLng(6.84857,79.98436));
path.add(new LatLng(6.84754,79.98453));
path.add(new LatLng(6.84606,79.98475));
path.add(new LatLng(6.84605,79.98475));
path.add(new LatLng(6.84605,79.98475));
path.add(new LatLng(6.84593,79.98412));
path.add(new LatLng(6.84591,79.98405));
path.add(new LatLng(6.84587,79.98385));
path.add(new LatLng(6.84582,79.98344));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84575,79.98292));
path.add(new LatLng(6.8469,79.98272));
path.add(new LatLng(6.8509,79.98403));
path.add(new LatLng(6.85083,79.98397));
path.add(new LatLng(6.85061,79.98386));
path.add(new LatLng(6.85031,79.98372));
path.add(new LatLng(6.84994,79.98348));
path.add(new LatLng(6.84983,79.98338));
path.add(new LatLng(6.84972,79.98328));
path.add(new LatLng(6.8496,79.98324));
path.add(new LatLng(6.84946,79.98327));
path.add(new LatLng(6.84925,79.98332));
path.add(new LatLng(6.84908,79.98344));
path.add(new LatLng(6.84894,79.98357));
path.add(new LatLng(6.84885,79.98368));
path.add(new LatLng(6.84875,79.98378));
path.add(new LatLng(6.8487,79.9839));
path.add(new LatLng(6.84864,79.98404));
path.add(new LatLng(6.8486,79.98436));
path.add(new LatLng(6.8486,79.98436));
path.add(new LatLng(6.84857,79.98436));
path.add(new LatLng(6.84754,79.98453));
path.add(new LatLng(6.84606,79.98475));
path.add(new LatLng(6.84605,79.98475));
path.add(new LatLng(6.84605,79.98475));
path.add(new LatLng(6.84593,79.98412));
path.add(new LatLng(6.84591,79.98405));
path.add(new LatLng(6.84587,79.98385));
path.add(new LatLng(6.84582,79.98344));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84573,79.98293));
path.add(new LatLng(6.84575,79.98292));
path.add(new LatLng(6.8469,79.98272));