从谷歌地图 API 文档中,我已经完成了这个工作:
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),
new google.maps.LatLng(-27.46758, 153.027892)
];
我试图做的是用我自己的循环复制这段代码,这样我就可以使用以前存储的坐标,如下所示:
var output;
$.getJSON('DisplayMap.php', function(data) {
var output = "[ ";
for (var i in data.b) {
output+= "new google.maps.LatLng" + "(" + data.b[i].Ya + ", " + data.b[i].Za + ")," + " ";
}
output+= "]";
document.getElementById("placeholder").innerHTML=output;
alert(output);
});
output+= "]";
我检查了输出,它看起来完全符合我的要求。但是,当我像这样替换它时,这是行不通的:
var flightPlanCoordinates = output;
最佳答案
在您的新代码中,您正在构建一个字符串而不是一个数组。你应该有这样的东西:
var output = [];
for (var i in data.b) {
output.push(new google.maps.LatLng(data.b[i].Ya, data.b[i].Za));
}
此外,我对您在 getJSON
内部和外部创建一个名为 output
的变量这一事实感到有点困惑。请记住,getJSON
是异步的,您将无法在调用 getJSON
后立即使用该变量。
关于javascript - 在 JavaScript 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187705/