我试图从一个数组中存储纬度和经度,其长度有时是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]}
的另一个数组答案 0 :(得分:0)
typeof(o.match!=='undefined')
总是“布尔”
我想你想要的
typeof(o.match)!=='undefined'
或typeof o.match!=='undefined'