私はGoogleマップアプリケーションに取り組んでおり、いくつかのマーカーをデータベースからロードしてマップに表示したいと考えています。そこで、配列を作成し、このようなオブジェクトを定義しました。
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' を呼び出すと、'undefined' と表示されます。緯度経度も解析してみました。ここで、lat、lng は MySQL データベースの double 変数です。name,type,lat,lng を呼び出すだけで、受信した ajax データから lat,lng 値を問題なく取得できます。しかし、それらをすべて配列に入れて、配列から呼び出すと、問題が発生します。どんな助けでも大歓迎です。ありがとう。