Javascript 使用loadJSON加载Google地图标记时出现问题
我使用GoogleMaps示例在Json请求的某些位置放置标记。但我收到了这样的信息: 未处理的承诺拒绝:TypeError:undefined不是计算'Beats.length'的对象 我不清楚为什么不加载JSON。 我是Javascript/JQuery的新手,所以我需要帮助 最初,变量Beats在initMap内部馈送: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',
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
})