地图 - 基于速度的折线变换颜色

时间:2015-08-18 16:01:13

标签: javascript google-maps-api-3

enter image description here我有3种不同颜色的数组,其速度介于值

之间
  1. 小于60
  2. 介于60和80之间
  3. 超过120.
  4. 我可以将每个lat长整数放在一个数组中,其中速度是3个选项中的一个,并且每个选项使用不同的颜色但是我注意到,如果我的速度小于60作为起点,例如,然后也只有最后的那个,开头的不到60个将连接到最后的小于60因此绘制一条直线,有没有办法我可以根据最小距离连接折线,即使我使用不同的缩放级别点在一个小于60的数组中的Y将连接到点Z(下一个点),因为它不知道其间的两个数组。

    var myTripGoing60 = [];
    for (i = 0; i < latlngdataGoing60.length; i = i + 2) {
        var point = new google.maps.LatLng(latlngdataGoing60[i], latlngdataGoing60[i + 1]);
        myTripGoing60.push(point);
    }
    
    var myTripGoing6080 = [];
    for (i = 0; i < latlngdataGoing6080.length; i = i + 2) {
        var point = new google.maps.LatLng(latlngdataGoing6080[i], latlngdataGoing6080[i + 1]);
        myTripGoing6080.push(point);
    }
    
    
    var myTripGoing120 = [];
    for (i = 0; i < latlngdataGoing120.length; i = i + 2) {
        var point = new google.maps.LatLng(latlngdataGoing120[i], latlngdataGoing120[i + 1]);
        myTripGoing120.push(point);
    }
    
    
    var flightPath = new google.maps.Polyline({
        path: myTripGoing60,
        strokeColor: "#000000",
        strokeOpacity: 0.8,
        strokeWeight: 7
    });
    flightPath.setMap(map);
    
    var flightPath = new google.maps.Polyline({
        path: myTripGoing6080,
        strokeColor: "#99FF00",
        strokeOpacity: 0.8,
        strokeWeight: 7
    });
    flightPath.setMap(map);
    
    var flightPath = new google.maps.Polyline({
        path: myTripGoing120,
        strokeColor: "#003300",
        strokeOpacity: 0.8,
        strokeWeight: 7
    });
    flightPath.setMap(map);
    

2 个答案:

答案 0 :(得分:0)

enter image description here

我使用了标记(点)而不是折线 - 现在就可以了。

答案 1 :(得分:0)

我为实现这一目标所做的是:

遍历数组中的每个坐标,并将当前迭代作为折线的起点,当前迭代+ 1 作为该折线的终点,您可以为该线添加所需的颜色。

然后移动到下一个,依此类推,对数组中的每个坐标重复此过程。

enter image description here