Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在google map v3上更改多段线笔划颜色_Javascript_Jquery_Google Maps Api 3 - Fatal编程技术网

Javascript 在google map v3上更改多段线笔划颜色

Javascript 在google map v3上更改多段线笔划颜色,javascript,jquery,google-maps-api-3,Javascript,Jquery,Google Maps Api 3,我需要创建多条多段线,每一条都有自己的颜色,并且它们的标记相互连接,我使用的是google map v3 例如,我有五个标记,它们都通过红色多段线相互连接。现在,我想以多种颜色方案显示此红色多段线,第一条多段线为绿色,第二条多段线为蓝色,第三条多段线为黑色,依此类推 这是我的密码 <script type='text/javascript'> var poly; var map; var path; var i = parseInt(0, 10); var marker;

我需要创建多条多段线,每一条都有自己的颜色,并且它们的标记相互连接,我使用的是google map 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>

var-poly;
var映射;
var路径;
var i=parseInt(0,10);
var标记;
函数初始化(){
var chicago=new google.maps.LatLng(41.879535,-87.624333);
变量myOptions={
缩放:7,
中心:芝加哥,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map\u canvas'),myOptions);
var多选项={
strokeColor:“#000000”,
笔划不透明度:1.0,
冲程重量:3
}
poly=新的google.maps.Polyline(多选项);
poly.setMap(map);
//为单击事件添加侦听器
google.maps.event.addListener(映射,'click',addLatLng);
}
/**
*处理地图上的单击事件,并向多段线添加新点。
*@param{MouseEvent}MouseEvent
*/
功能添加(事件){
i++;
//var path=poly.getPath();
path=poly.getPath();
var多选项2={
strokeColor:“#FFFFFF”,
笔划不透明度:1.0,
冲程重量:3
}
如果(i==2){
poly.setOptions(PolyOptions 2);
}
否则{
polyOptions2.strokeColor=“#FF0000”;
poly.setOptions(PolyOptions 2);
}
路径推送(event.latLng);
//在多段线上的新打印点添加新标记。
marker=新的google.maps.marker({
位置:event.latLng,
标题:“#”+path.getLength(),
地图:地图
});
}

将多段线的标记选项和颜色加载到json数组中,并在其中循环创建标记和多段线


希望这能让您顺利完成。

将这部分代码设置为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);
        }
var colorVariable=[“红色”、“绿色”、“蓝色”、“黄色”、“黑色”];

(var a=0;是,谢谢。