【问题标题】:Changing the Multiple Polyline stroke color on google map v3更改谷歌地图 v3 上的多段线描边颜色
【发布时间】:2012-02-17 14:22:51
【问题描述】:

我需要创建多条折线,每条折线都有自己的颜色,并且它们的标记相互连接,我使用的是谷歌地图 v3。

例如,我有五个标记,它们都通过红色折线相互连接。现在我想以多种配色方案显示这条红色折线,第一条折线为绿色,第二条为蓝色,第三条为黑色,依此类推。

这是我的代码

<script type='text/javascript'>
var poly;
var map;
var path;
var i = parseInt(0, 10);
var marker;          

function initialize() {
  var chicago = new google.maps.LatLng(41.879535, -87.624333);
  var myOptions = {
    zoom: 7,
    center: chicago,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
  var polyOptions = {
    strokeColor: '#000000',
    strokeOpacity: 1.0,
    strokeWeight: 3
  }
  poly = new google.maps.Polyline(polyOptions);
  poly.setMap(map);
  // Add a listener for the click event
  google.maps.event.addListener(map, 'click', addLatLng);
}

/**
* Handles click events on a map, and adds a new point to the Polyline.
* @param {MouseEvent} mouseEvent
*/
function addLatLng(event) {
  i++;
  //var path = poly.getPath();
  path = poly.getPath();
  var polyOptions2 = {
    strokeColor: '#FFFFFF',
    strokeOpacity: 1.0,
    strokeWeight: 3
  }
  if (i == 2) {
    poly.setOptions(polyOptions2);

  }
  else {
    polyOptions2.strokeColor = "#FF0000";
    poly.setOptions(polyOptions2);
  }
  path.push(event.latLng);
  // Add a new marker at the new plotted point on the polyline.
  marker = new google.maps.Marker({
    position: event.latLng,
    title: '#' + path.getLength(),
    map: map
  });
}
</script>

【问题讨论】:

    标签: javascript jquery google-maps-api-3


    【解决方案1】:

    将多段线的标记选项和颜色加载到 json 数组中,然后循环通过它们创建标记和多段线。

    希望这能让你继续前进。

    【讨论】:

      【解决方案2】:

      在 for 循环中设置这部分代码

             var colorVariable = ["red","green","blue","yellow","black"];
      
              for(var a =0;a<=5;a++){
                    var polyOptions = {
                      strokeColor: colorVariable[a],
                      strokeOpacity: 1.0,
                      strokeWeight: 2
                    }
                    poly = new google.maps.Polyline(polyOptions);
                    poly.setMap(map);
              }
      

      它会正常工作

      【讨论】:

      • 好的,谢谢。
      猜你喜欢
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多