Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 从链创建循环以在Maps API上绘制多段线_Javascript_Jquery_Google Maps - Fatal编程技术网

Javascript 从链创建循环以在Maps API上绘制多段线

Javascript 从链创建循环以在Maps API上绘制多段线,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我无法成功地在我的谷歌地图上绘制带有循环的多段线。我的一个同事用“/”填充不同的坐标。我想把它分开,在地图上做一个循环 这是我最后想要的: var flightPlanCoordinates = [ new google.maps.LatLng(37.772323, -122.214897), new google.maps.LatLng(21.291982, -157.821856), new google.maps.LatLng(-18.142599, 17

我无法成功地在我的谷歌地图上绘制带有循环的多段线。我的一个同事用“/”填充不同的坐标。我想把它分开,在地图上做一个循环

这是我最后想要的:

  var flightPlanCoordinates = [
     new google.maps.LatLng(37.772323, -122.214897),
     new google.maps.LatLng(21.291982, -157.821856),
     new google.maps.LatLng(-18.142599, 178.431),
  ];
37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431
var coord_itineraire = '37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431';
cut_itineraire = coord_itineraire.split("/");
var flightPlanCoordinates = [
$.each(cut_itineraire, function(index, valeur_coord) {
      return ("new google.maps.LatLng("+valeur_coord+"), ");
})
];
以下是我所拥有的:

  var flightPlanCoordinates = [
     new google.maps.LatLng(37.772323, -122.214897),
     new google.maps.LatLng(21.291982, -157.821856),
     new google.maps.LatLng(-18.142599, 178.431),
  ];
37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431
var coord_itineraire = '37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431';
cut_itineraire = coord_itineraire.split("/");
var flightPlanCoordinates = [
$.each(cut_itineraire, function(index, valeur_coord) {
      return ("new google.maps.LatLng("+valeur_coord+"), ");
})
];
这是到目前为止我的代码:

  var flightPlanCoordinates = [
     new google.maps.LatLng(37.772323, -122.214897),
     new google.maps.LatLng(21.291982, -157.821856),
     new google.maps.LatLng(-18.142599, 178.431),
  ];
37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431
var coord_itineraire = '37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431';
cut_itineraire = coord_itineraire.split("/");
var flightPlanCoordinates = [
$.each(cut_itineraire, function(index, valeur_coord) {
      return ("new google.maps.LatLng("+valeur_coord+"), ");
})
];
但我的控制台显示的问题如下:

InvalidValueError:位于属性lat:中的索引0:不是LatLng或LatLngLiteral:不是数字

Infos:为了简单起见,我只是把数字放在这里,通常“coord_Tineraire”是一个变量,它取我网站BO中记录的值。它可能只有像这里这样的3点,或者20点,它从来没有固定过

我尝试在我的“valeur_coord”上使用parseFloat,但行的第二个数字被删除

有什么想法吗

谢谢

试试这个:

        var coord_itineraire = '37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431';
        var coord_itineraire_arr = coord_itineraire.split("/");
        var flightPlanCoordinates = [];

        for ( var key in coord_itineraire_arr ) {
            var temp = coord_itineraire_arr[key].split(",");
            flightPlanCoordinates.push( new google.maps.LatLng( parseFloat( temp[0] ) , parseFloat( temp[1] ) ) );
        }
这将导致:

 var flightPlanCoordinates = [
     new google.maps.LatLng(37.772323, -122.214897),
     new google.maps.LatLng(21.291982, -157.821856),
     new google.maps.LatLng(-18.142599, 178.431),
  ];

您正在构建字符串,而不是LatLng对象的数组

请检查此代码:

var coord_itineraire = "37.772323, -122.214897/21.291982, -157.821856/-18.142599, 178.431";
var cut_itineraire = coord_itineraire.split("/");

//Empty array
var flightPlanCoordinates = [];

$.each(cut_itineraire, function(index, valeur_coord) {
  var coords = valeur_coord.split(', ');
  var lat = parseFloat(coords[0]);
  var lng = parseFloat(coords[1])
  flightPlanCoordinates.push(new google.maps.LatLng(lat,lng))
});

console.log(flightPlanCoordinates)

如果你有问题,不要犹豫问问题

太好了!如果这对您有帮助,请接受我的回答。:)啊,我没有想过在每个实验室进行第二次分离,以分离lat和lng!!天才!谢谢可能重复的