Javascript 使用loadJSON加载Google地图标记时出现问题

Javascript 使用loadJSON加载Google地图标记时出现问题,javascript,php,jquery,google-maps,google-maps-api-3,Javascript,Php,Jquery,Google Maps,Google Maps Api 3,我使用GoogleMaps示例在Json请求的某些位置放置标记。但我收到了这样的信息: 未处理的承诺拒绝:TypeError:undefined不是计算'Beats.length'的对象 我不清楚为什么不加载JSON。 我是Javascript/JQuery的新手,所以我需要帮助 最初,变量Beats在initMap内部馈送: var beaches = [ ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach',

我使用GoogleMaps示例在Json请求的某些位置放置标记。但我收到了这样的信息:

未处理的承诺拒绝:TypeError:undefined不是计算'Beats.length'的对象

我不清楚为什么不加载JSON。 我是Javascript/JQuery的新手,所以我需要帮助

最初,变量Beats在initMap内部馈送:

var beaches = [
    ['Bondi Beach', -33.890542, 151.274856, 4],
    ['Coogee Beach', -33.923036, 151.259052, 5],
    ['Cronulla Beach', -34.028249, 151.157507, 3],
    ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
    ['Maroubra Beach', -33.950198, 151.259302, 1]
  ];
我更改为使用iniMap函数外部的loadJSON调用获取这些数据

  var beaches;

  function setup() {
    loadJSON("getData.php", gotData, 'jsonp');
  }

  function gotData(data) {
    beaches = data;
  }
如您所见,出于安全原因,我使用了jsonp。我试图澄清这一点,但问题仍在继续

要显示数据,将执行此调用。问题发生在海滩。长度:

 for (var i = 0; i < beaches.length; i++) {
      var beach = beaches[i];
      var marker = new google.maps.Marker({
        position: {lat: beach[1], lng: beach[2]},
        map: map,
        shape: shape,
        title: beach[0],
        zIndex: beach[3]
      });
    }
我将非常感激任何帮助…

变量必须使用JSON格式

将海滩转换为:

此外: 必须使用google.maps.LatLng对象作为标记对象中位置索引的值


在使用数据填充之前,所有内容都指向循环运行的标记。另外,loadJSON似乎是一个处理函数。。。?您正在使用它吗?loadJSON很可能是异步的。可能是双重感谢。。。我会读到它,我会给你一些反馈。。。谢谢A应该有用。谢谢你的回答。。。我将测试此中止,并将很快向您发送反馈。除此之外,问题仍在继续。。。变量i=0时的错误为0.length from;i.长度;i++{…}。但我不知道为什么我的JSON没有生成一些数据。。。直接查看json链接,数据就可以了。但是当loadJSON尝试加载时,这些数据不会填充变量。你有什么想法吗?
var beaches = 
    [{
      "title" : "Bondi Beach",
      "lat" : -33.890542,
      "lng" : 151.274856,
      "zindex" : 4
    },...]
var pos = new google.maps.LatLng(beach.lat, beach.lng);
var marker = new google.maps.Marker({
    position : pos ,
    map: map,
    shape: shape,
    title: beach.title,
    zIndex: beach.zindex
})