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!!天才!谢谢可能重复的