Android如何绘制缺少坐标的折线?

时间:2015-06-17 08:43:56

标签: java android google-maps-android-api-2

我有一个带坐标的json文件,并将它们放在LatLng数组中。某些坐标丢失,因为设备仅在打开时发送坐标。因此,当您关闭设备并将其放置在其他位置时,折线会通过整个地图到另一个点并连接它。如果两点之间的距离太大,我需要以某种方式分割折线。为每个连接点绘制多条折线不是一种选择,因为可以有500000个点。

无法在此处发布图片,因为我没有声誉。

http://i.imgur.com/YtslNwX.png

这就是我将坐标放在折线选项中的方法。

mapData.routeOptions此处等于折线选项。

                List<LatLng> route = new ArrayList<LatLng>();
    route.addAll(positions);
            double totalDistance=0;
    if (route.size() > 1) {
        mapData.color = suppliedMapData.color;
        int color = mapData.color;
        int colorAlpha = Utils.adjustAlpha(color, ROUTE_TRANSPERENCY_PERCENTAGE);
        LatLngBounds.Builder boundsBuilder = LatLngBounds.builder();
        for (LatLng position : route) {
            boundsBuilder.include(position);

        }
        mapData.routeBounds = boundsBuilder.build();
        mapData.routeOptions = new PolylineOptions().addAll(route).color(colorAlpha);

这就是我绘制折线的方法。

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

            MapData mapData = sArray.valueAt(i);
            if (mapData.routeOptions != null) {                         
            mapData.routeOptions.width(7);
                            mPolylines.add(mMap.addPolyline(mapData.routeOptions));     

                hasPosData = true;
            }}

将折线添加到mPolylines数组中。因为设备多于一个,所有设备都需要绘制。

0 个答案:

没有答案