javascript - 在 JavaScript 中使用变量

标签 javascript json google-maps-api-3

从谷歌地图 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/

相关文章:

没有道路/城市/国家标签的 Android 卫星 map View

javascript - 验证当月内的日期

javascript - 使用 .find 或 .find 内部的 .index

javascript - Rails 通过单击按钮对元素进行排序

javascript - 谷歌地图 API 获取 lat 和 lng 并替换标记?

javascript - Google map JavaScript - 将多个标记添加到一张 map

javascript - Rails - 将具有多个属性的对象传递给 javascript

java - 仅在 java 序列化时重命名字段

java - 如何将任意 JSON 转换为 Java 中可用的结构

java - 使用 Google Media Framework Exoplayer 的视频播放器空指针异常