我有一个php函数返回一个地图坐标数组。
然后我尝试使用
将它们放在谷歌地图上 for (var i=0; i<coords.length; i++) {
var via = new google.maps.LatLng(coords[i][1], coords[i][2]);
};
其中via是lat和longs,而coords [i] [1],coords [i] [2]是从php数组中提取的。
此方法仅在函数运行时将数组的最后一个值写入地图,我需要它来生成整个数组。
其次我需要只拉取数组的最后一个值并将其放入变量“end” 当数组完成它的循环时。
**** 也尝试了
var via = [];
for (var i=0; i<coords.length; i++) {
via.push([new google.maps.LatLng(coords[i][1], coords[i][2])]);
};
和
var via = [];
for (var i=0; i<coords.length; i++) {
var viaPoints = new google.maps.LatLng(coords[i][1], coords[i][2]);
via.push([viaPoints]);
};
答案 0 :(得分:3)
每次写入的循环都会覆盖via
,因此您最终会得到最后一个值。而是尝试将标记添加到循环内的地图 。 (对于问题的第二部分,只需在循环完成后设置end=via
。)
for (var i=0; i<coords.length; i++) {
var via = new google.maps.LatLng(coords[i][1], coords[i][2]);
// add marker to the map here, eg ....
map.addOverlay(new GMarker(via));
};
var end = via;
(如果您不知道,Maps API site有一些有用的examples。)