账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    google map怎么能动态画出不同颜色的轨迹?定时器应该加到哪里?
    55
    0

    var list = res.data.data;

          var arrPois = [];
          var lineColor = "";
          //将后台读取到的GPS点信息Point坐标点对象并用数组装起来
          //循环遍历数组
          var latlng = new google.maps.LatLng(39.92, 116.46);
          var myOptions = {
            zoom:20,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.HYBRID
          };
          var map = new google.maps.Map(document.getElementById("map"), myOptions);
          for (var i = 0; i < list.length - 1; i++) {
            arrPois.splice(0, arrPois.length);//清空数组,如若不清空,会在原来基础上每次在重复的增加一边。这儿是让每两个点画线,否则第二次进来的时候就成四个数据了,第二个重复了一次
            arrPois.push(new google.maps.LatLng(list[i].lat, list[i].lng));
            arrPois.push(new google.maps.LatLng(list[i + 1].lat, list[i + 1].lng));
            //区间颜色
            if (list[i].pump == 0) {
              lineColor = "#FFFF00";
            } else {
              lineColor = "#28bf81";
            }
            map.setCenter(arrPois[0]);
            //创建线路
            var polylineOptions =
              {
                path: arrPois,//所有的GPS坐标点
                strokeColor: lineColor, //线路颜色
                strokeWeight: 4,//线路大小
              };
            //绘制线路
            var poly2 = new google.maps.Polyline(polylineOptions);
              poly2.setMap(map);
          }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 花下我独眠 普通会员 1楼

      要在 Google Maps 上动态画出不同颜色的轨迹,您可以使用 Google Maps API,该 API 提供了一个名为 Map 的类,您可以使用这个类来创建和更新地图上的标记。以下是一个示例代码:

      ```javascript // 导入地图 API const map = new google.maps.Map(document.getElementById('map'), { center: { lat: 37.7749, lng: -122.4194 }, zoom: 8, });

      // 创建一个黄色的轨迹标记 const circle = new google.maps.Circle({ center: { lat: 37.7749, lng: -122.4194 }, radius: 50, strokeColor: 'yellow', strokeOpacity: 0.8, strokeWeight: 2, });

      // 创建一个新的事件监听器来监听地图上的标记变化 map.addListener('click', function(event) { // 在这里添加代码来根据点击事件更改地图上的轨迹颜色 // 这里我们只是简单地将标记的颜色设置为黄色 circle.setRadius(30); }); ```

      在这个示例中,我们首先创建了一个黄色的轨迹标记。然后,我们使用 addEventListener 方法创建了一个新的事件监听器来监听地图上的标记变化。每当地图上的一个标记发生变化时,我们就使用 circle.setRadius 方法来改变轨迹的半径,从而改变轨迹的颜色。

      请注意,您需要将 mapcircle 变量替换为您的地图实例和轨迹标记实例。同时,您需要根据您的实际需求来调整代码中的颜色设置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部