无法从数组获得经度和纬度

时间:2012-08-12 18:04:43

标签: javascript

我试图从一个数组中存储纬度和经度,其长度有时是1,有时是2或3。

以下是代码:

    var latitude,longitude;
    $.each(data.results, function (i, item) {
    var name = item.from_user;
    var img = item.profile_image_url;
    var text=item.text;
    var profile_img=item.profile_image_url;
    var url=(item.entities.urls.length > 0 ? item.entities.urls[0].url : '');
    Placemaker.getPlaces(text,function(o){
    console.log(o);
    if (typeof(o.match!=='undefined') ||(o.length==1)){
     latitude=o.match.place.centroid.latitude, longitude=o.match.place.centroid.longitude; 
     console.log(latitude,longitude);}
     else if (typeof(o.match[0]!=='undefined') ||(o.match.length==2)){
        latitude=o.match[0].place.centroid.latitude, longitude=o.match[0].place.centroid.longitude; 
     console.log(latitude,longitude);
     }

    });
    array.push({name:name,img:img,text:text,latitude:latitude,longitude:longitude,profile_img:profile_img,url:url});

从这段代码中我只得到纬度&当数组长度为1时的经度值。因此只执行第一个if。我试图修复其他数据,以便我可以从其他数组中获取值,因为当我使用console.log输出数组时,纬度和数值的值。经度不存在。我想循环必须在将它们放入数组之前完成所有值。

我正在尝试通过推文位置输出谷歌地图上的推文。我没有使用地理编码,而是使用雅虎制作人来从推文文本中对地点进行地理定位。

这是placemaker数组结构http://www.flickr.com/photos/codepo8/3553188917/

的快照

这是我想要获取值Object {match = [2]}

的另一个数组

1 个答案:

答案 0 :(得分:0)

typeof(o.match!=='undefined')总是“布尔” 我想你想要的 typeof(o.match)!=='undefined'typeof o.match!=='undefined'