[英]What is the correct way to write this jQuery ajax call
I am trying to set up a google map that that pulls in GPS coordinates from database via ajax and draws a poly line on the map. 我正在尝试建立一个谷歌地图,该地图通过ajax从数据库中提取GPS坐标,并在地图上绘制一条折线。
I have it working when the ajax call is removed, just using coord(lat_start,lng_start), and coord(lat_end,lng_end), it draws a line between lat_start,lng_start and lat_end,lng_end but when I try to wrap it in an ajax call, it says there is an error. 当删除ajax调用时,仅使用coord(lat_start,lng_start)和coord(lat_end,lng_end)即可工作,它在lat_start,lng_start和lat_end,lng_end之间划了一条线,但是当我尝试将其包装在ajax中时呼叫,它说有一个错误。
If possible, I would like guidance on how to write this block correctly. 如果可能的话,我希望获得有关如何正确编写此块的指导。
SyntaxError: syntax error 'for(i = 0; i < arr.length; i++) {' SyntaxError:语法错误'for(i = 0; i <arr.length; i ++){'
Thanks 谢谢
//The vars are posted from hidden form values
var lat_start = $(this).parent('.plot_trip').find('.lat_start').val();
var lng_start = $(this).parent('.plot_trip').find('.lng_start').val();
var lat_end = $(this).parent('.plot_trip').find('.lat_end').val();
var lng_end = $(this).parent('.plot_trip').find('.lng_end').val();
var trip_id = $(this).parent('.plot_trip').find('.trip_id').val();
$.ajax({
type: "GET",
cache: false,
url: '?route=waypoints/get_by_trip_id',
data: {trip_id:trip_id},
success: function(data) {
// have recieved
alert('recieved data');
// set array var
var arr = data;
// set up google map polyline
polyline(map, [
//set start gps coordinates
coord(lat_start,lng_start),
//get and set all gps coordinates from array
for(i = 0; i < arr.length; i++) { // Error shown here
coord(arr[i].lat,arr[i].lng),
}
//set end gps coordinates
coord(lat_end,lng_end),
]);
}
});
Ok, so finally worked it out! 好的,终于解决了!
Posting my answer, which might be wrong but it works. 发布我的答案,这可能是错误的,但是可以。
I needed to set up an array variable and push points to it. 我需要设置一个数组变量并将其压入该变量。
Code is fully commented but if you have any questions, just ask :) 代码已完全注释,但是如果您有任何疑问,请问:)
//The vars are posted from hidden form values
var lat_start = $(this).parent('.plot_trip').find('.lat_start').val();
var lng_start = $(this).parent('.plot_trip').find('.lng_start').val();
var lat_end = $(this).parent('.plot_trip').find('.lat_end').val();
var lng_end = $(this).parent('.plot_trip').find('.lng_end').val();
var trip_id = $(this).parent('.plot_trip').find('.trip_id').val();
$.ajax({
type: "GET",
cache: false,
url: '?route=waypoints/get_by_trip_id',
dataType:"json",
data: {trip_id:trip_id},
success: function(data) {
// have recieved
alert('recieved data');
// Set up points array variable
var points = [];
// set start gps position variable
var start = coord(lat_start,lng_start);
//push start gps position to points array variable
points.push(start);
//get all gps coordinates from array
for(i = 0; i < data.length; i++) {
// set point variable
var point = coord(data[i].lat,data[i].lng);
//push point to points array variable
points.push(point);
}
// set end gps position
var end = coord(lat_end,lng_end);
//push end gps position to points array variable
points.push(end);
//show polyline using array
polyline(map,points);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.