Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 谷歌地图多段线问题_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图多段线问题

Javascript 谷歌地图多段线问题,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一个谷歌地图,我需要在地图上的不同位置之间绘制链接。我正在使用谷歌地图多段线绘制不同点之间的链接。代码如下: // code to draw map var map; var mapProp = { // center : new google.maps.LatLng(51.4848, -0.20325), zoom : 8, mapTypeId : google.maps.MapTypeId.ROADMAP }; map = new

我有一个谷歌地图,我需要在地图上的不同位置之间绘制链接。我正在使用谷歌地图多段线绘制不同点之间的链接。代码如下:

// code to draw map
var map;
var mapProp = {
        // center : new google.maps.LatLng(51.4848, -0.20325),
        zoom : 8,
        mapTypeId : google.maps.MapTypeId.ROADMAP
    };

map = new google.maps.Map(document.getElementById("map"), mapProp);

 // data to show the links between locations, first part of lat & long denotes from location and second part is to location for a link.
 var links_data = [
 {"path":[{"lat":53.408123,"lng":-2.985655},{"lat":53.416366,"lng":-2.985655}]},
 {"path":[{"lat":53.416366,"lng":-2.985655},{"lat":53.408123,"lng":-3.038971}]},
 {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.390648,"lng":-3.014405}]},
 {"path":[{"lat":53.390648,"lng":-3.014405},{"lat":53.409477,"lng":-2.982685}]},
 {"path":[{"lat":53.407086,"lng":-2.989244},{"lat":53.390648,"lng":-3.014405}]},
 {"path":[{"lat":53.390648,"lng":-3.014405},{"lat":53.407086,"lng":-2.989244}]},
 {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.407086,"lng":-2.989244}]},
 {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.409477,"lng":-2.982685}]}, 
 {"path":[{"lat":53.389557,"lng":-2.989244},{"lat":53.388615,"lng":-3.015866}]},
 {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.409477,"lng":-2.982685}]},
 {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.407086,"lng":-2.989244}]},
 {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.389557,"lng":-3.014986}]},
 {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.390648,"lng":-3.014405}]},
 {"path":[{"lat":53.389557,"lng":-3.014405},{"lat":53.389557,"lng":-3.022483}]},
 {"path":[{"lat":53.408123,"lng":-3.038971},{"lat":53.410152,"lng":-3.022483}]},
 {"path":[{"lat":53.416366,"lng":-2.985655},{"lat":53.410152,"lng":-3.022483}]},
 {"path":[{"lat":53.410152,"lng":-3.022483},{"lat":53.408123,"lng":-3.038971}]},
 {"path":[{"lat":53.410152,"lng":-3.022483},{"lat":53.416366,"lng":-2.985655}]}
 ];

    // draw links
    for(var i = 0 ; i < links_data.length; i++)
    {
      var latLng = links_data[i].path; 
      // polylines lat long array
      var polypoints = [];
      for ( var j = 0; j < latLng .length; j++) {
        polypoints[j] = new google.maps.LatLng(
                parseFloat(latLng [j].lat),
                parseFloat(latLng [j].lng));
    }

    var link = new google.maps.Polyline({
       path : polypoints,
       geodesic : true,
       strokeColor : col,
       strokeOpacity : 0.5,
       strokeWeight : 3,
       title : "test"
    });
    link.setMap(map);
}
//绘制地图的代码
var映射;
var mapProp={
//中心:新google.maps.LatLng(51.4848,-0.20325),
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=新的google.maps.map(document.getElementById(“map”),mapProp);
//显示位置之间链接的数据,lat和long的第一部分表示从位置到位置,第二部分表示链接到位置。
变量链接\u数据=[
{“路径”:[{“lat”:53.408123,“lng”:-2.985655},{“lat”:53.416366,“lng”:-2.985655}],
{“路径”:[{“lat”:53.416366,“lng”:-2.985655},{“lat”:53.408123,“lng”:-3.038971}},
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.390648,“lng”:-3.014405}]},
{“路径”:[{“lat”:53.390648,“lng”:-3.014405},{“lat”:53.409477,“lng”:-2.982685}],
{“路径”:[{“lat”:53.407086,“lng”:-2.989244},{“lat”:53.390648,“lng”:-3.014405}]},
{“路径”:[{“lat”:53.390648,“lng”:-3.014405},{“lat”:53.407086,“lng”:-2.989244}],
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.407086,“lng”:-2.989244}]},
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.409477,“lng”:-2.982685}],
{“路径”:[{“lat”:53.389557,“lng”:-2.989244},{“lat”:53.388615,“lng”:-3.015866}],
{“路径”:[{“lat”:53.388615,“液化天然气”:-3.015866},{“lat”:53.409477,“液化天然气”:-2.982685}]},
{“路径”:[{“lat”:53.388615,“lng”:-3.015866},{“lat”:53.407086,“lng”:-2.989244}]},
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.389557,“lng”:-3.014986}]},
{“路径”:[{“lat”:53.388615,“lng”:-3.015866},{“lat”:53.390648,“lng”:-3.014405}],
{“路径”:[{“lat”:53.389557,lng:-3.014405},{“lat”:53.389557,lng:-3.022483}]},
{“路径”:[{“lat”:53.408123,“lng”:-3.038971},{“lat”:53.410152,“lng”:-3.022483}]},
{“路径”:[{“lat”:53.416366,“lng”:-2.985655},{“lat”:53.410152,“lng”:-3.022483}]},
{“路径”:[{“lat”:53.410152,“lng”:-3.022483},{“lat”:53.408123,“lng”:-3.038971}]},
{“路径”:[{“lat”:53.410152,“lng”:-3.022483},{“lat”:53.416366,“lng”:-2.985655}]
];
//绘制链接
对于(变量i=0;i
我面临的一个问题是,地图有时会显示不相关的线(其中很少用黑色椭圆标记),如下图所示:

你知道这是怎么回事吗?。我正在使用来自以下url的goggle api
;

如果没有以正确的方式填充路径坐标,则全红色的线会被重复越来越多的时间,而50%不透明度的线则是只绘制一次的线,这意味着重复相同的坐标。可能是以错误的方式或顺序在路径中加载坐标。或者你试图画更多的线,但由于错误,你画错了一条或几条线。您提供的代码不足以进行正确的计算。可能也有必要评估标记的坐标

我已经使用了您的代码,这是一个功能正常且自我一致的代码页 我在编码EAN时发现了一些小错误,我更喜欢在脚本顶部移动一些声明。本质上,问题是点的坐标在许多情况下,坐标以相反的顺序指向同一条线或从同一点开始,并且彼此非常接近。可能你需要清除双线(我已经签署了一些),并更好地定义你想在地图上显示的内容。 我希望这对你有用

  <!DOCTYPE html>
  <html>
    <head>
      <title>test sandbox 8</title>

      <style type="text/css">
        #main {
          margin: 60px 15px; 
        }
        #map { 
          min-height: 600px; 
          min-width: 800px; 
        }
      </style>

          <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>
      <script>
        // code to draw map
        var map;
        var col = '#FF0000';
        var link ;
        var latLng;
        var polypoints;

        function initialize() {
        var mapProp = {
                center : new google.maps.LatLng(53.40, -2.99),
                zoom : 12,
                mapTypeId : google.maps.MapTypeId.ROADMAP
            };


        map = new google.maps.Map(document.getElementById("map"), mapProp);

         // data to show the links between locations, first part of lat & long denotes from location and second part is to location for a link.
         var links_data = [
         {"path":[{"lat":53.408123,"lng":-2.985655},{"lat":53.416366,"lng":-2.985655}]},
         {"path":[{"lat":53.416366,"lng":-2.985655},{"lat":53.408123,"lng":-3.038971}]},
         {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.390648,"lng":-3.014405}]},
         {"path":[{"lat":53.390648,"lng":-3.014405},{"lat":53.409477,"lng":-2.982685}]},
         {"path":[{"lat":53.407086,"lng":-2.989244},{"lat":53.390648,"lng":-3.014405}]},
         {"path":[{"lat":53.390648,"lng":-3.014405},{"lat":53.407086,"lng":-2.989244}]},
         {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.407086,"lng":-2.989244}]},
         {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.409477,"lng":-2.982685}]}, 
         {"path":[{"lat":53.389557,"lng":-2.989244},{"lat":53.388615,"lng":-3.015866}]},   // line 9   same origin of line  13
         {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.409477,"lng":-2.982685}]},   // line 10  same origin of line 13
         {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.407086,"lng":-2.989244}]},   // line 11
         {"path":[{"lat":53.409477,"lng":-2.982685},{"lat":53.389557,"lng":-3.014986}]},   // line 12
         {"path":[{"lat":53.388615,"lng":-3.015866},{"lat":53.390648,"lng":-3.014405}]},   // line 13 
         {"path":[{"lat":53.389557,"lng":-3.014405},{"lat":53.389557,"lng":-3.022483}]},   // line 14 
         {"path":[{"lat":53.408123,"lng":-3.038971},{"lat":53.410152,"lng":-3.022483}]},   // line 15 repeat line 17 in reverse order 
         {"path":[{"lat":53.416366,"lng":-2.985655},{"lat":53.410152,"lng":-3.022483}]},   // line 16  repeat line 18 in reverse order
         {"path":[{"lat":53.410152,"lng":-3.022483},{"lat":53.408123,"lng":-3.038971}]},   // line 17
         {"path":[{"lat":53.410152,"lng":-3.022483},{"lat":53.416366,"lng":-2.985655}]}    // line 18
         ];

            // draw links
            for(var i = 0 ; i < links_data.length; i++)
            {
              latLng = links_data[i].path; 
              // polylines lat long array
              polypoints = [];
              for ( var j = 0; j < latLng.length; j++) {
                polypoints[j] = new google.maps.LatLng(
                        parseFloat(latLng[j].lat),
                        parseFloat(latLng[j].lng));

              }
             link = new google.maps.Polyline({
               path : polypoints,
               geodesic : true,
               strokeColor : col,
               strokeOpacity : 0.5,
               strokeWeight : 3,
               title : "test"
            });
            link.setMap(map);
           }
        }

         google.maps.event.addDomListener(window, 'load', initialize); 
      </script>
    </head>
    <body>
           <div id="map"></div>
     </body>
  </html>

测试沙箱8
#主要{
利润率:60像素15像素;
}
#映射{
最小高度:600px;
最小宽度:800px;
}
//绘制地图的代码
var映射;
var col='#FF0000';
var-link;
var latLng;
var多点;
函数初始化(){
var mapProp={
中心:新google.maps.LatLng(53.40,-2.99),
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=新的google.maps.map(document.getElementById(“map”),mapProp);
//显示位置之间链接的数据,lat和long的第一部分表示从位置到位置,第二部分表示链接到位置。
变量链接\u数据=[
{“路径”:[{“lat”:53.408123,“lng”:-2.985655},{“lat”:53.416366,“lng”:-2.985655}],
{“路径”:[{“lat”:53.416366,“lng”:-2.985655},{“lat”:53.408123,“lng”:-3.038971}},
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.390648,“lng”:-3.014405}]},
{“路径”:[{“lat”:53.390648,“lng”:-3.014405},{“lat”:53.409477,“lng”:-2.982685}],
{“路径”:[{“lat”:53.407086,“lng”:-2.989244},{“lat”:53.390648,“lng”:-3.014405}]},
{“路径”:[{“lat”:53.390648,“lng”:-3.014405},{“lat”:53.407086,“lng”:-2.989244}],
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.407086,“lng”:-2.989244}]},
{“路径”:[{“lat”:53.409477,“lng”:-2.982685},{“lat”:53.409477,“lng”:-2.982685}],
{“路径”:[{“lat”:53.389557,“lng”:-2.989244},{“lat”:53.388615,“lng”:-3.015866}},//第9行与第13行的原点相同
{“路径”:[{“lat”:53.388615,“lng”:-3.015866},{“lat”:53.409477,“lng”:-2.982685}},//第10行与第13行的原点相同
{“path”:[{“lat”:53.388615,lng:-3.015866},{“lat”:53.407086,lng:-2.989244}],第11行
{“path”:[{“lat”:53.409477,lng:-2.982685},{“lat”:53.389557,lng:-3.014986}],第12行
{“路径”:[{“lat”:53.388615,“lng”:-3。