gpt4 book ai didi

javascript - 调用 javascript 对象值给我 'undefined'

转载 作者:行者123 更新时间:2023-11-28 20:48:16 24 4
gpt4 key购买 nike

我正在开发一个谷歌地图应用程序,我希望从数据库加载一些标记并将其显示在 map 上。所以我创建了一个数组并定义了一个像这样的对象。

function shop_data(name,latitude,longitude,type)
{
this.name=name;
this.latitude=latitude;
this.longitude=longitude;
this.type=type;
}

然后我将从 ajax 请求检索到的一些数据添加到“shop_data”对象数组中。该数组定义为“all_shops”。

var i=0;
for(var o in data){
var name = data[o].name;
var type = data[o].type;
var lat = data[o].lat;
var lng = data[o].lng;

all_shops[i]=new shop_data(name,lat,lng,type);
i++
}

然后,当我调用“all_shops[i].name”时,它会按原样给出名称。但是当我调用“all_shops[i].lat”或“all_shops[i].lng”时,它给我“未定义”。我也尝试解析经纬度。这里lat,lng是MySQL数据库中的双变量。我可以通过调用 name、type、lat、lng 从接收到的 ajax 数据中毫无问题地获取 lat、lng 值。但是当我将它们全部放入数组并从数组中调用它们时,事情就出了问题。任何帮助,将不胜感激。谢谢。

最佳答案

您应该从 all_shops[i] 调用您的纬度经度,而不是latlng 因为您有这样的 shop_data 函数定义

function shop_data(name,latitude,longitude,type)
{
this.name=name;
this.latitude=latitude;
this.longitude=longitude;
this.type=type;
}

或者如果想使用latlng,则更改shop_data函数定义,如

function shop_data(name,latitude,longitude,type)
{
this.name=name;
this.lat=latitude;
this.lng=longitude;
this.type=type;
}

关于javascript - 调用 javascript 对象值给我 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com